gleLathe(3GLE)

πŸ’« gleLathe β€” the 3GLE manual page, but make it cute

okay bestie, buckle up πŸŽ€ this is a page from the GLE manual set, section 3GLE, and it's about gleLathe β€” the function that literally spins your contour around and makes a whole helix out of it. no cap. let's go πŸ’…


✨ NAME ✨

gleLathe β€” sweep using a Z-axis shear to create an arbitrary contour along a helical path.

like, it takes your lil 2D shape and twirls it around the z-axis on a spiral staircase. it's giving pottery wheel 🏺 but make it math.


🌸 SYNTAX 🌸

void gleLathe (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 */

look at her. twelve arguments. she's high maintenance but she EATS πŸ”₯


πŸ¦‹ ARGUMENTS πŸ¦‹

  • ncp β€” the number of contour points. count 'em, bestie.
  • contour β€” the 2D contour itself.
  • cont_normal β€” the 2D contour normals. yes, plural, she brought friends.
  • up β€” the up vector for the contour.
  • startRadius β€” where the spiral begins in the x-y plane.
  • drdTheta β€” how much the radius changes per revolution. growth rate energy 🌱
  • startZ β€” the z value you start at.
  • dzdTheta β€” how much Z changes per revolution. this is the climbing part, the main character ascent πŸ‘‘
  • startXform β€” the starting contour affine transformation.
  • dXformdTheta β€” the tangent change xform per revolution.
  • startTheta β€” the starting angle in the x-y plane.
  • sweepTheta β€” the degrees to spiral around. how far you go, periodt.

πŸ’– DESCRIPTION πŸ’–

Sweep an arbitrary contour along a helical path. that's the whole vibe. πŸŒ€

and here's the part that makes it this function and not some other one: the sweep gets performed as a shear along the z-axis, so the orientation of the contour is displaced, rather than translated, as the contour is swept. read that again bestie, it matters. she's displacing, not translating. totally different girlies.

The axis of the helix lies along the modeling coordinate z-axis. so like, that's the pole, that's the axis, that's where all the spinning happens.

An affine transform can be applied as the contour is swept. and for most ordinary usage? the affines should be given as NULL. so unless you're doing something fancy, just hand her NULL and let her cook πŸ™ˆ


πŸ‘€ SEE ALSO πŸ‘€

gleSpiral β€” her cousin, also slay, go read that one too πŸ’œ


🌈 AUTHOR 🌈

Linas Vepstas (linas@linas.org) β€” the icon who wrote this. respect πŸ’…


okay that's the whole page, you ate that reading it fr fr 🫢

signing off with the deets: this was GLE, version 3.0, and the page title at the top was gleLathe(3GLE) matching the footer β€” so like, same energy top and bottom, symmetric, iconic, no notes ⭐ bye bestie πŸ’–