Controlling Curves/Surface in a logic way

Hi everyone,

I’m having a question while working on something… you can see below the images.

Essentially what I’m trying to do is to create a surface with the two curves that I’ve got (consists of straight lines and curves). As you can see the current surface isn’t as smooth at the lower end and I’m just wondering if there is a more rationalized way to control how these two curves descend from one point to the other at a either uniformed way or a smoothed way?

(Hope I’ve explained myself clearly…)

  1. Learn the basics of continuity from the following drawing.

  2. Use Rebuild command or ChangeDegree command to raise degree of the original curves by one.

  3. Use Curvature command to analyze the improved curves.

Hi Andrew,

thanks for the reply!

That’s a very clear diagram you’ve got there that explains different G0-G3 continuity!

However I think what I’m after is how to vertically make these curves look smooth? I’ve tried ChangeDegree and Curvature commands and I believe they only measure on the CPlane on which my original curves are drawn, instead of vertically?

To put it in another way, how can I create a curve from one point to another with different XYZ values that behaves like a Helix (might not be an arc but a profile that consists of straight lines, arcs etc)?

Thanks again!

@Ryhno Did you create the curves in your illustration? Are you able to create a curve using control points?

Use the Rebuild command or ChangeDegree command on the surface. Analyze the surface with CurvatureGraph command.

Hello - it’s hard to say without a file to look at but it looks to me like you’ve got arcs - if so, to keep things smooth, the points that lies right on the curve

image

must be exactly in line with the points on either side if you want to avoid kinks This obviously restricts what you can do - you can ChangeDegree to 3, or more, and get a bit more flexibility - the same rule applies but you’ll have more ‘free’ points. The alternative is to make your curves from something other than true circles and arcs - Rebuilding them is one way - rebuilding arcs and circles to degree 5 with a point count ~ 6 per 90 degrees gets a very good approximation of an arc or circle and you won’t have those pesky kinks showing up. Just guessing that the above may be relevant - feel free to post a file.

-Pascal

Hi Pascal,

Thanks for the reply.

Please find the file and the comment text in it.

Thank you!

Test.3dm (369.5 KB)

Hi David,

Yes I did use an illustration because in this case this profile - consists of 2 straight lines and 1 curve is what I intended to work with.

If I’m to create a curve using control points I wouldn’t be able to get the two straight lines I would assume?

Hi Andrew,

Thanks!

Yes I understand the first two commands. However I don’t quite understand what CurvatureGraph is meant to do… sorry for my lack of experience in Rhino.

Also, I think what I intend to do is to be able to control the shape of the curve with minimum control points so that the result is easier to manage and would be more smooth? If I rebuild with many control points then I get limited by the intervals between every control points?

Hello - is the attached something like what you’re after?

Test Ramp_PG.3dm (312.6 KB)

-Pascal

Hi Pascal,

Thanks for the file!

I’ve noticed that you’ve transformed the Arc into curves that’s approximated to be an Arc? Would you elaborate a bit on what you’ve done?

Also, if you could help me explain what I’ve typed in my original file, i.e. why was it an open polysurface instead of an open surface? And that if I’d like to have the 2 straight lines to start and change with a different Z value as well? that’d be really awesome!

Thank you very much!

In Rhino all lines and curves have control points. A simple degree 1 straight line has a control point at either end. It is not possible to have a straight segment and a curved segement in a single span curve (other than the trivial case of a degree 1 line). However it is possible to have both straight and curved segments in multi-span curves.

Hello -

As I mentioned above, one option is to rebuild the arcs (Rebuild command)

I would explode the curves that you are getting a polysurface from and loft across in pairs - that way at least you get more control over the alignment of the result.

-Pascal

Hi David,

Thanks for the reply.

I could understand that now.

Just another quick question, could you please demonstrate a case where “both straight and curved segments are in multi-span curves”? Does that mean when the straight line starts, it will be starting off a curve rather than a point?

I understand it now.

Thanks Pascal!

Attached is a file with two multi-span, degree 3 curves. Each curve has a straight segment.MSCurves.3dm (24.0 KB)

I don’t understand your question.

Do you understand the difference between a “multispan curve” and several curves joined into a polycurve?

Yes David I understand. What I meant to say it’s that if it’s a multispan curve like in your file, then when you change the control point between a curve and a straight segment, the whole curve changes “smoothly”; in a polycurve case the shape would result in a kink instead of a smooth curve?

A multispan curve of degree n has continuity between spans of G(n) (unless control points are stacked) .Multispan curves can be modified by moving control points. How much of the curve each control point influences depends on the degree of the curve, the number of spans, and the location of the control point. I find it useful to draw a curve, sometimes with the control points in the straight line, and then experiment with moving individual control points and seeing what the effect is. See the attached file for an example of moving control points. Spans.3dm (69.1 KB)

Edit - incorrect information removed.

1 Like

Hi David -did you mean by this that if you do move points on a polycurve it immediately becomes a NURBS curve?

-Pascal

No, I made a mistake. I was thinking of polysurfaces for which control points are not available. I’ll edit the post and correct it.