Quick tutorial - How to make an helix or spiral curve

 From:  tyglik
277.36 In reply to 277.13 
Hi Jonah,

I guess it is not necessary to resuscitate this thread, but...

jonah wrote:

>For a G1 fit between each spiral segment, you have to add 2 points to the ends of each spiral. So it goes like this:

>1. Make array of points as Schbeurd explains (someday you will have to tell me the correct way of pronouncing this nickname)... for this example, let's say there are 8 points in the array :

>2. Select points 2 & 3, then copy from position of point 1 to poistion of point 8.

>3. Select points 6 & 7, then copy from position of point 8 to poistion of point 1.

>4. Now draw your curve through all the points.

>5. Select curve, and trim excess curve length using original points # 1 and 8.

>If you make multiple copies of this curve, and align them end to end to end, they will have G1 continuity... I analyzed in Rhino, and it doesn't matter if you make 2, 3, or 4 extra points the result will still be G1. But if only using one extra point at each end will result in G0 continuity.



I couldn't understand why the sweep command creates a surfaces that can't be joined together, although the rail is "perfectly" smooth (G1). It appears that I have discovered the reason. The Rhino's _GCon seems to be quite confusing. While the command prompt displays G1 continuity between turns of helix, the actual tangency deviation can be as great as the tolerance that is hard-coded inside Rhino(?) I think it haven't much to do with Rhino's "Angle tolerance" setting. I haven't manage to find any relationship between that tolerance and indicated continuity.

Have a look at Rhino's command history window:
:Command: GCon
:First curve - select near end:
:Second curve - select near end:
:Curve end difference = 0
:Radius of curvature difference = 2.66454e-15
:Curvature direction difference in degrees = 0.85681
:Tangent difference in degrees = 0.661446
:Curves are G1.


Tangent difference in degrees = 0.661446 !!!

So now, I am not sure that method, you have described, is just ok. How do you feel about it, jonah?


Petr