Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

glespiral(3gle) [debian man page]

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 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@linas.org) GLE
3.0 gleSpiral(3GLE)

Check Out this Related Man Page

gleSuperExtrusion(3GLE) 						GLE						   gleSuperExtrusion(3GLE)

NAME
gleSuperExtrusion - Extrude arbitrary 2D contour along arbitrary 3D path, specifying local affine transformations. SYNTAX
void gleSuperExtrusion (int ncp, gleDouble contour[][2], gleDouble cont_normal[][2], gleDouble up[3], int npoints, gleDouble point_array[][3], float color_array[][3], gleDouble xform_array[][2][3]); ARGUMENTS
ncp number of contour points contour 2D contour cont_normal 2D contour normals up up vector for contour npoints numpoints in poly-line point_array polyline vertices color_array colors at polyline verts xform_array 2D contour affine transforms DESCRIPTION
Extrude arbitrary 2D contour along arbitrary 3D path, specifying local affine transformations. As the contour is extruded, the affine will be applied to the points in the contour. The argument "contour" specifies the 2D contour to be extruded, while the argument "point_array" specifies the path along which to extrude. The vector "up" defines the orientation of the contour y-axis in real 3D space. Note that neither the very first segment, nor the very last segment are drawn. The first and last segments serve only to define the angle of the join at the very ends of the polyline. Thus, to draw one segment, three must be specified. To draw two segments, four must be speci- fied, etc. The normal array may be NULL. If it is, normal vectors will NOT be automatically generated, and the object will look terrible when lit. The color array may be NULL. If NULL, the current color is used. If not NULL, the glColor3f() routine is used to set the color; therefore, specifying the glColorMaterial() subroutine before this primitive can be used to set diffuse, specular, ambient, etc. colors. SEE ALSO
gleExtrusion, gleTwistExtrusion AUTHOR
Linas Vepstas (linas@linas.org) GLE
3.0 gleSuperExtrusion(3GLE)
Man Page