Provided by: libgle3-dev_3.1.0-7ubuntu2_amd64
gleSpiral - Sweep an arbitrary contour along a helical path.
void gleSpiral (int ncp, gleDouble contour, gleDouble cont_normal, gleDouble up, 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, /* starting contour affine xform */ gleDouble dXformdTheta, /* tangent change xform per revoln */ gleDouble startTheta, /* start angle in x-y plane */ gleDouble sweepTheta); /* degrees to spiral around */
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
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.
Linas Vepstas (email@example.com)