Involute Curve

Hi,

I recently got interested in involute curves.
They have some remarkable properties, e.g. you can arrange them in a polar array and the distance between the curves stays constant:

Anyway here is a script that I wanted to share to generate involutes of circles and a more general way which works for any shape 2D/3D


involute.gh (37.5 KB)

2 Likes

The evolute, the locus of the centers of curvature of a curve, is the inverse of the involute, and so the evolute of the involute should give you back your original curve. I tried it once and in my attempt, it didn’t look too good. The only reason I could think of was that the involute is actually a nurbs approximation, and the exact intersection of two nearly parallel curvature lines requires a precision that you can’t get from the Rhino routines; there’s always some rounding involved.

1 Like

nice, I didn’t know that

blue: input
orange: involute
red: curvature circle
dots: center of circle
green: interpolated between centers

1 Like

Hmmm, I never tried it just using the centesr of the curvature circles. Seems like a better way to go. How well does it work on a more challenging curve like the filleted square in your example?

Depending on the number of samples good till bad :laughing:


I still think it’s better than my approach which took the definition of evolute too literally. I don’t know how Rhino calculates the center of curvature, but it probably does it formulaically, and not as the intersection of two nearby normals.