How to make a continuous curve

I want to put a curve through three points but I want it to blend smoothly into the line at the end.

I enable the control points and move the ones near the end to an extension of the line(s).

I think they are continuous now BUT my curve no longer goes through the middle point. How can i keep the curve going through specific points while controlling the slope at the end?

use the command InterpCrv… via menus, it’s Curve > Free Form > Interpolate Points

before clicking the first point, look at the command dialog and you’ll see the option ‘start tangent’… click that (or press the letter S then spacebar… (since the letter S is underlined in the dialog… ‘S’ works as the keyboard equivalent to mouse clicking the button)

click the first point… you then tell it which direction the start tangent should go in… (in your example, set direction to the left of your horizontal lines…)

click the middle point

look in the dialog again and you’ll see the option ‘End tangent’… click that or press E then spacebar.

select your final point then assign direction.

I seem to be missing something. I do InterpCrv and click Start Tangent. I click on the start of the curve:


Then it asks me for the start tangent and I click down the line where I want it to be tangent.

Then I do the two remaining points plain and get:

What am I missing?

Thanks.

J

Hi Jim - the desired tangent direction, if I see what you’re doing, is horizontal, parallel to X; it looks like you’ve set it vertical. (use the Direction option to override the automatic choice of that vertical curve to set the tangent direction)

-Pascal

Through trial and error, I found that if I click the DIRECTION button then click to the LEFT of the starting point and do the same but click to the RIGHT of the ending point I wind up with the correct result.

If I do RIGHT/RIGHT or LEFT/LEFT I get screwed up stuff.

fwiw, if you hide/delete/lock/move the vertical line, things will go a little bit smoother since it will know to go along the vector tangent to curve at the picked point… you won’t have to explicitly change the direction via the Direction button.

in the latest group of pictures you posted, it shows that the vertical line was picked for your tangent point but you want the horizontal one… there are two curves at the intersection and it doesn’t really know which one you want… if you get rid of the vertical line, there won’t be an intersecting line at your pick point and the correct (only) curve will be chosen.

Is there any way to control the location of the control point without moving the interpolated points?

If I want a fuller curve, I need to have the control point back farther from the end of the curve.

Hi Jim - one way is to split the curve at the interpolated point, adjust the halves to taste and Join - you will have a more complex curve in the end but it might get you the shape you want.

-Pascal

_EditPtOn might do the trick for you… (different than _PointOn)

_
draw the tangent interpolated curve as described earlier.

call the command EditPtOn

select the two points in the middle then move/drag them to desired shape.

(assuming this is what you mean by ‘fuller curve’)

When I do that the point in the middle of the curve moves out.
I have been getting around that, as suggested above, by splitting the curve.

how are you launching the command? (menu, typing, icons, etc)

are you sure you’re using EditPtOn instead of PointsOn?

(not saying splitting then editing isn’t a valid solution… now just curious as to why the middle point is moving on you… it doesn’t move when i do it… ?)

I was using the menu. Control Points On.

Control Points On via the menu runs the PointsOn command.

try using EditPtOn instead.

using the keyboard, start typing the command editpton …the command should auto complete prior to typing all of it or you can choose it from the list that pops up once you start typing.

EditPtOn is AWESOME.

Thank you, Jeff.

1 Like

You can’t. It’s inherent to NURBS control point/CV modification. When you are moving a CP, you are changing the invariant of projective transformation, but not the topology in the projective plane. You can either 1. have a curve go through points (EPs) having to accept the projective plane or 2. assume a form (CPs) having to accept the points the curve intersects. Both are mutually exclusive mathematically.

You can if you have a curve with 2 more control points than the number of specific points you want the curve to pass through. Place an edit point at each specific point keeping the edit points next to the ends free. Then move the edit points adjacent to the ends as needed for the desired slope and shape at each end. The control points will wind up where they need to be for the curve to go through the specific points with the slope at the end…

One method is to create a curve with the required number of control points, and then drag individual edit points to the specific points. Then move the edit points adjacent to the end points as desired.

An alternative is to locate an additional point between each end and the adjacent specific point you want the curve to pass through. Then create the curve using CurveThroughPt or InterpCrv with the specific points plus the two additional points. Knots=Chord or Knots=SqrtChord may work better than Knots=Uniform.

Be aware that moving an edit point will alter the entire curve except the curve will continue to pass through all the edit points. Oscillations can be a problem.