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

FreeBSD Manual Pages

  
 
  

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

       startXform
		 starting contour affine transformation

       dXformdTheta
		 tangent change	xform per revolution

       startTheta
		 start angle in	x-y plane

       sweepTheta
		 degrees 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
       ordinary	usage, the affines should be given as NULL.

       The "startXform[][]" is an affine matrix	applied	to the contour to  de-
       form 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 inte-
       grated while the	contour	is extruded.  Note  that  this	affine	matrix
       lives in	the tangent space, and so it should have the form of a genera-
       tor.  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)

NAME | SYNTAX | ARGUMENTS | DESCRIPTION | SEE ALSO | AUTHOR

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

home | help