1gleSpiral(3GLE)                       GLE                      gleSpiral(3GLE)
2
3
4

NAME

6       gleSpiral - Sweep an arbitrary contour along a helical path.
7

SYNTAX

9       void gleSpiral (int ncp,
10                       gleDouble contour[][2],
11                       gleDouble cont_normal[][2],
12                       gleDouble up[3],
13                       gleDouble startRadius,     /* spiral starts in x-y plane */
14                       gleDouble drdTheta,        /* change in radius per revolution */
15                       gleDouble startZ,          /* starting z value */
16                       gleDouble dzdTheta,        /* change in Z per revolution */
17                       gleDouble startXform[2][3], /* starting contour affine xform */
18                       gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */
19                       gleDouble startTheta,      /* start angle in x-y plane */
20                       gleDouble sweepTheta);     /* degrees to spiral around */
21

ARGUMENTS

23       ncp       number of contour points
24
25       contour   2D contour
26
27       cont_normal
28                 2D contour normals
29
30       up        up vector for contour
31
32       startRadius
33                 spiral starts in x-y plane
34
35       drdTheta  change in radius per revolution
36
37       startZ    starting z value
38
39       dzdTheta  change in Z per revolution
40
41       startXform
42                 starting contour affine transformation
43
44       dXformdTheta
45                 tangent change xform per revolution
46
47       startTheta
48                 start angle in x-y plane
49
50       sweepTheta
51                 degrees to spiral around
52

DESCRIPTION

54       Sweep an arbitrary contour along a helical path.
55
56       The axis of the helix lies along the modeling coordinate z-axis.
57
58       An  affine  transform  can be applied as the contour is swept. For most
59       ordinary usage, the affines should be given as NULL.
60
61       The "startXform[][]" is an affine matrix  applied  to  the  contour  to
62       deform the contour. Thus, "startXform" of the form
63
64            |  cos     sin    0   |
65            |  -sin    cos    0   |
66
67       will rotate the contour (in the plane of the contour), while
68
69            |  1    0    tx   |
70            |  0    1    ty   |
71
72       will translate the contour, and
73
74            |  sx    0    0   |
75            |  0    sy    0   |
76
77       scales along the two axes of the contour. In particular, note that
78
79            |  1    0    0   |
80            |  0    1    0   |
81
82       is the identity matrix.
83
84       The  "dXformdTheta[][]"  is  a differential affine matrix that is inte‐
85       grated while the contour is extruded.  Note  that  this  affine  matrix
86       lives in the tangent space, and so it should have the form of a genera‐
87       tor.  Thus, dx/dt's of the form
88
89            |  0     r    0   |
90            |  -r    0    0   |
91
92       rotate the the contour as it is extruded (r == 0 implies no rotation, r
93       == 2*PI implies that the contour is rotated once, etc.), while
94
95            |  0    0    tx   |
96            |  0    0    ty   |
97
98       translates the contour, and
99
100            |  sx    0    0   |
101            |  0    sy    0   |
102
103       scales it. In particular, note that
104
105            |  0    0    0   |
106            |  0    0    0   |
107
108       is  the identity matrix -- i.e. the derivatives are zero, and therefore
109       the integral is a constant.
110
111

SEE ALSO

113       gleLathe
114

AUTHOR

116       Linas Vepstas (linas@linas.org)
117
118
119
120GLE                                   3.0                      gleSpiral(3GLE)
Impressum