Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
gleSpiral(3GLE) 		       GLE			 gleSpiral(3GLE)

NAME
     gleSpiral - Sweep an arbitrary contour along a helical path.

SYNTAX
     void gleSpiral (int ncp,
		     gleDouble contour[][2],
		     gleDouble cont_normal[][2],
		     gleDouble up[3],
		     gleDouble startRadius,	/* spiral starts in x-y plane */
		     gleDouble drdTheta,	/* change in radius per revolution */
		     gleDouble startZ,		/* starting z value */
		     gleDouble dzdTheta,	/* change in Z per revolution */
		     gleDouble startXform[2][3], /* starting contour affine xform */
		     gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */
		     gleDouble startTheta,	/* start angle in x-y plane */
		     gleDouble sweepTheta);	/* degrees to spiral around */

ARGUMENTS
     ncp       number of contour points

     contour   2D contour

     cont_normal
	       2D contour normals

     up        up vector for contour

     startRadius
	       spiral starts in x-y plane

     drdTheta  change in radius per revolution

     startZ    starting z value

     dzdTheta  change in Z per revolution

     startXformstarting contour affine transformation

     dXformdTheta
	       tangent change xform per revolution

     startThetastart angle in x-y plane

     sweepThetadegrees to spiral around

DESCRIPTION
     Sweep an arbitrary contour along a helical path.

     The axis of the helix lies along the modeling coordinate z-axis.

     An  affine transform can be applied as the contour is swept. For most ordi-
     nary usage, the affines should be given as NULL.

     The "startXform[][]" is an affine matrix applied to the contour  to  deform
     the contour. Thus, "startXform" of the form

	  |  cos     sin    0	|
	  |  -sin    cos    0	|

     will rotate the contour (in the plane of the contour), while

	  |  1	  0    tx   |
	  |  0	  1    ty   |

     will translate the contour, and

	  |  sx    0	0   |
	  |  0	  sy	0   |

     scales along the two axes of the contour. In particular, note that

	  |  1	  0    0   |
	  |  0	  1    0   |

     is the identity matrix.

     The  "dXformdTheta[][]"  is a differential affine matrix that is integrated
     while the contour is extruded.  Note that this affine matrix lives  in  the
     tangent  space,  and  so  it  should  have  the form of a generator.  Thus,
     dx/dt's of the form

	  |  0	   r	0   |
	  |  -r    0	0   |

     rotate the the contour as it is extruded (r == 0 implies no rotation, r  ==
     2*PI implies that the contour is rotated once, etc.), while

	  |  0	  0    tx   |
	  |  0	  0    ty   |

     translates the contour, and

	  |  sx    0	0   |
	  |  0	  sy	0   |

     scales it. In particular, note that

	  |  0	  0    0   |
	  |  0	  0    0   |

     is  the identity matrix -- i.e. the derivatives are zero, and therefore the
     integral is a constant.

SEE ALSO
     gleLathe

AUTHOR
     Linas Vepstas (linas@fc.net)

GLE				       3.6			 gleSpiral(3GLE)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gleSpiral&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help