Drawing and Manipulating Curves

Softimage has tools and commands that let you draw and manipulate curves in a variety of ways.

Things You Should Know About Drawing and Manipulating Curves

In Softimage, you can draw and manipulate two types of curve: linear and cubic. Linear curves are composed of straight segments, and cubic curves are composed of curved segments.

 Linear Curve Cubic Curve Knot has multiplicity 1. Cubic Curve Knot has multiplicity 2. Cubic Curve Knot has multiplicity 3 (Bézier).

On a cubic curve, each knot can have a multiplicity of 1, 2, or 3. This value refers to the number of control points associated to the knot. In general, knots with higher multiplicity are less smooth but provide more control over the trace of the curve. A knot with multiplicity 3 is like a Bézier point, with one control point at the position of the knot and the other two control points acting as the tangent handles.

The Tweak Curve tool allows you to manipulate these knots in a Bézier-like manner — see Using the Tweak Curve Tool. Whether the back and forward tangents remain aligned depends on how you manipulate them — it is not a property of the knot itself.

 Broken tangents create a sharp corner. Four control points create a straight segment when they are lined up.

Bézier knots also allow you to create straight segments by rotating the tangents to point at adjacent knots, so that four control points are lined up in a row. Again, whether the control points remain lined up depends on how you manipulate the adjacent knots — it is not a property of the segment. See Drawing a Combination of Linear and Curved Segments.

Drawing Curves

There are several ways to draw curves:

NoteIf you will be using curves as profiles for modeling, you should draw them in a counterclockwise direction. This ensures that the normals of any surface or polygon mesh you create from the curves will be oriented correctly. If you will be using curves as paths for animation or extruding, you should draw them from beginning to end. Otherwise, you may need to invert the curves or generated objects later.

Drawing Curves by Placing Control Points or Knots

You can draw cubic or linear curves by clicking to place control points or to place knots. Use one of the following commands from the CreateCurve menu of the Model or Animate toolbar:

• Draw Cubic by CVs allows you to place control points (also known as control vertices or CVs). The curve does not pass through the locations you click but is a weighted interpolation between the control points. As you add more points, the existing knot positions may change but the point positions do not.

• Draw Cubic by Bézier-Knot Points allows you to place knots of multiplicity 3. The curve passes through the points you click. As you add more knots, the positions of the control points are automatically adjusted to ensure maximum smoothness of the curve as the curve passes through the existing knot positions.

• Draw Cubic by Knot Points allows you to place knots of multiplicity 1. Again, the curve always passes through the locations you click and the positions of the control points are automatically adjusted as you add more knots.

• Draw Linear allows you to draw lines of connected straight segments (sometimes called polylines). The straight segments meet at the locations you click.

The choice between linear, cubic Bézier, and cubic non-Bézier drawing tools depends on the situation. When creating profiles for modeling, linear curves give a good sense of the final result. For paths, you'll want cubic curves — non-Bézier curves are smoother but you may find Bézier curves easier to control. Bézier curves also give you the ability to have sharp corners, and to mix curved and straight segments. The choice between placing control points or placing knots to draw cubic non-Bézier curves is simply a matter of personal preference.

When drawing curves, snapping can be very useful for controlling the position of points and knots. For more information, see Snapping.

You can also activate symmetry when drawing curves; see Drawing Curves Symmetrically.

To draw a curve by placing control points or knots

1. Choose the appropriate command from the Create Curve menu on the Model or Animate toolbar:

• Draw Cubic by CVs

• Draw Cubic by Bézier-Knot Points

• Draw Cubic by Knot Points

• Draw Linear

The mouse pointer changes to a pen.

2. Click in any geometry view to add the first point, and continue clicking to add more points. Before you release the mouse button, you can drag the mouse to adjust the point's location.

• To add a point at the end of the curve, use the left mouse button.

• To add a point between two existing points, use the middle mouse button.

• To add a point before the first point, first right-click and choose LMB = Add at Start and then use the left mouse button. To return to adding points at the end of the curve, first right-click and choose LMB = Add at End.

• Other useful commands are available on the context menu when you right-click: Open/Close (see Opening and Closing Curves), Invert (see Inverting Curves), Start New Curve, and, of course, Exit Tool.

TipWhile drawing a curve, you can move any control point or knot by pressing and holding M while dragging the point. This activates the Tweak Curve tool in supra mode.
3. When you have finished drawing, exit the curve drawing tool by choosing another tool, pressing Esc, or right-clicking and choosing Exit Tool.

Alternatively, if you want to draw another curve right away, middle-click Create Curve on the toolbar or right-click and choose Start New Curve.

Note

You may be surprised that a cubic curve is drawn after the second point, even though it takes four points to define a cubic curve segment. This is because points are automatically being created so that there are always at least four.

• When you click to place the first point, four points are added at the same location.

• When you click to place the second point, the three extra points at the first location are removed and three are added at the second location so that the total remains equal to four.

• When you place the third point, the two extra points at the second location are removed and two more are added at the third location.

• After you add the fourth point, there are no extra points.

Drawing a Combination of Linear and Curved Segments

Although Softimage does not support having linear and cubic NURBS segments in the same subcurve, you can use Bézier knots to obtain straight segments on a cubic curve:

• If you have already begun drawing a linear curve, raise its degree (see Raising the Degree of Curves) then use Modify Curve Add Point Tool by Bezier-Knot Points to draw curved sections (see Adding Points and Knots on Curves Interactively). Press Shift while adding knots to preserve the existing trace if you want the last-drawn segment to remain straight.

• If you have already begun drawing a cubic curve, place the knots where you want them and then straighten the desired segments as described in Creating Straight Segments.

Straight segments are not inherently linear. Whether they remain straight depends on how you manipulate them. Using the Tweak Curve tool to move the knot preserves the linearity, but it will break if you move a tangent or use another tool.

Drawing Curves Symmetrically

When drawing curves, you can activate symmetry. This automatically creates a second curve object that mirrors the one you draw across the current symmetry plane.

Note that symmetry does not work when sketching curves, nor when adding points to existing curves.

To activate or deactivate symmetry

• Click Sym on the Transform panel.

To set the current symmetry plane

Do one of the following:

• Right-click Sym and choose YZ, XZ, or XY.

or

• Right-click Sym and choose Symmetry Properties, then set Symmetry Plane to the desired value in the Symmetry Options property editor.

Sketching Curves

Sketching allows you to draw a cubic curve by dragging the mouse freehand as if it were a pen. It creates a cubic curve with knots of multiplicity 1.

To sketch a cubic curve

1. Choose Create Curve Sketch on the Model or Animate toolbar. The mouse pointer changes to a pen.

2. Click in any geometry view and drag the mouse freehand.

3. Release the mouse button to create the curve. The sketch tool remains active and you can continue to draw more curves.

TipYou can use Create Curve Fit on Curve to resample a sketched curve. For more information, see Fitting Curves onto Curves.

Adding and Deleting Components on Curves

There are several ways to add and delete control points and knots on curves:

Adding Points and Knots on Curves Interactively

The procedure for adding control points and knots interactively to an existing curve is similar to drawing a new curve from scratch, but uses tools on the Modify Curve menu of the Model toolbar instead of Create Curve.

When adding points or knots, snapping can be very useful for controlling the position of points. For more information, see Snapping.

To add control points or knots

1. Select a curve.

2. Choose the appropriate command from the Modify Curve menu on the Model or Animate toolbar:

• For cubic curves, Add-Point Tool by CVs lets you place control points (also known as control vertices or CVs). The curve does not pass through the points you click but is a weighted interpolation between the points. As you add points, the existing knot positions may change but the point positions do not.

• For cubic curves, Add-Point Tool by Bezier-Knot Points lets you place knots. The curve always passes through the locations you click. As you add knots, the positions of the control points are automatically adjusted.

• For cubic curves, Add-Point Tool by Knot Points lets you place knots. The curve always passes through the locations you click. As you add knots, the positions of the control points are automatically adjusted.

• For linear curves, knots and control points are coincident so the three commands are all equivalent.

The mouse pointer changes to a pen.

3. Click in any geometry view to add points. Before you release the mouse button, you can drag the mouse to adjust the point's location.

• To add a point at the end of the curve, use the left mouse button.

• To add a between two existing points, use the middle mouse button.

• To add a point before the first point, first right-click and choose LMB = Add at Start and then use the left mouse button. To return to adding points at the end of the curve, first right-click and choose LMB = Add at End.

• Other useful commands are available on the context menu when you right-click: Open/Close (see Opening and Closing Curves), Invert (see Inverting Curves), Start New Curve, and, of course, Exit Tool.

TipWhile adding points or knots, you can move any control point by pressing and holding M while dragging the point. This activates the Tweak curve tool in supra mode.
4. When you have finished, exit the tool by choosing another tool, pressing Esc, or right-clicking and choosing Exit Tool.

Deleting Control Points on Curves

You can delete control points on curves manually using the Delete key or interactively using the Delete Point tool.

Note
• You cannot remove points from a cubic NURBS curve if less than four points would remain.

• You cannot remove points from a linear curve if less than two points would remain.

• You cannot remove knots directly. Knots are removed automatically when the associated control points are removed.

To delete points on a curve using the Delete key

1. Select a curve.

2. Select one or more points to delete.

3. Press Delete.

To delete points on a curve using the Delete Point tool

1. Select a curve.

2. Choose Modify Curve Delete Point Tool from the Model toolbar.

3. Click a point to delete it.

You can continue to click other points to delete them. When you have finished deleting points, exit the Delete Point tool by choosing another tool or pressing Esc.

You can add or remove knots on a curve manually. The control points are automatically adjusted.

To manually add knot of multiplicity 1 to a curve

1. Select one or more isopoints on a curve.

2. Choose Modify Curve Insert Knot from the Model toolbar.

A knot of multiplicity 1 is added to the curve and an Insert Crv Knot operator is added to the construction history. If you want to adjust the multiplicity, you can either open the Insert Crv Knot Op property editor or follow the procedure described in Setting Knot Multiplicity.

To manually add a Bézier knot to a curve

1. Select one or more isopoints on a curve.

2. Choose Modify Curve Insert Bezier-Knot from the Model toolbar.

A knot of multiplicity 3 is added to the curve and an Insert Crv Knot operator is added to the construction history.

To remove a knot from a curve

• Do one of the following:

• Select one or more knots on a curve, and press Delete.

or

• Select one or more knots on a curve, and choose Modify Curve Remove Knots.

or

• Select one or more knots on a curve, right-click on a selected knot, and choose Remove Knots.

or

• While the Tweak Curve tool is active (see Using the Tweak Curve Tool), right-click over an individual knot and choose Remove Knot.

The selected knots are removed, and a Remove Crv Knot operator is added to the construction history.

NoteYou cannot remove knots that are curve boundaries (the start and end points).

Setting Knot Multiplicity

You can change the multiplicity of a knot to suit your needs. For example, reducing the multiplicity makes a curve smoother, but increasing the multiplicity to 3 allows you to use Bézier controls and make sharp angles. Changing the multiplicity of knots can alter the trace of a curve in some circumstances.

To set the multiplicity of a knot

1. Select one or more knots on a cubic curve. To affect all knots on one or more curves, select the curve objects instead.

2. Choose one of the following commands from the Modify Curve menu of the Model toolbar:

• Make Knots Bezier set the multiplicity of the selected knots to 3.

• Make Knots Non-Bezier set the multiplicity of the selected knots to 1.

• Set Knots Multiplicity opens the Set Crv Knot Multiplicity Op property editor, where you can set the multiplicity of the selected knots to 0, 1, 2, or 3. Setting it to 0 is equivalent to removing the knot.

Manipulating Curve Components

The main tool for manipulating curve components is Tweak Curve, although you can also use other tools if desired.

Using the Tweak Curve Tool

The Tweak Curve tool allows you to manipulate curves in a Bézier-like manner. In addition to Bézier knots, you can manipulate non-Bézier knots, control points, and isopoints. The Tweak Curve tool also supports snapping — see Snapping.

To use the Tweak Curve tool

1. Select a curve.

2. Activate the Tweak Curve tool by pressing M or choosing Modify Curve Tweak Curve from the Model toolbar.

A manipulation handle appears (by default, on either the first knot or the last selected knot).

Note that pressing M when a curve is not selected will activate the Tweak Component tool instead.

3. As you move the mouse pointer close to a knot, the manipulator jumps to it. Do any of the following:

• Click and drag the manipulator's handles to adjust the knot's position, tangent angle, or tangent length. See To use the Tweak Curve manipulator.

• Click and drag a control point to move it to a new location.

• Select an isopoint by clicking on a curve segment between knots. A manipulator appears at the isopoint — see To use the Tweak Curve manipulator. To select an isopoint that is very close to a knot, you can click on the curve farther away and then slide the mouse pointer closer before releasing the button.

• Right-click on a knot or isopoint manipulator to access a context menu containing commands that affect that point, as well as other tool options.

Note that if you right-click on a selected knot (or on another part of the curve while knots are selected), the context menu is different (although many of the same items are available on both menus). In this case, the commands apply to all selected knots and not just the one under the mouse pointer.

• Click and drag a rectangle across one or more knots to select them. Use Shift to add to the selection, Ctrl to toggle, or Ctrl+Shift to deselect. This allows you to apply commands to multiple selected knots using the context menu or the Modify Curve menu.

4. The Tweak Curve tool remains active, so you can repeat step 4 as often as you like. When you have finished, exit the tool by pressing Esc, or activating a different tool.

To use the Tweak Curve manipulator

The Tweak Curve manipulator allows you to adjust the trace of a curve by moving knots and isopoints, as well as adjusting the angle and length of the tangents.

By default, all manipulation is in the viewing plane. If you prefer to use other reference frames, use the Translate manipulator instead (see To use the Translate manipulator).

A useful option is Snap to Curve Plane. This prevents you from making a curve non-planar even if you are working in a perspective view such as Camera or Object View. You can set it on the context menu by right-clicking on the manipulator.

Handle on a Bézier knot

 A Drag the square handle to move the tangent freely. Use the middle mouse button to drag one side independently. Once the tangent is broken in this way, the handles always move independently until you align them again. Shift+drag to scale the tangent length without affecting the slope. Again, use the middle mouse button to scale one side independently. B Drag the round handle to rotate the tangent without changing its length. Use middle mouse button to rotate one side independently. Press Shift to snap at mutliples of the Rotate increment (set in the Transform preferences). If the handles have been broken and you want to maintain their relative angle while rotating them, right-click on the manipulator and choose LMB Binds Broken Tangents. C Drag the central knot to move it freely. The tangent handles maintain their relative positions to the knot, unless an adjacent segment is linear (four control points lined up). In that case, the tangent handles are automatically adjusted to maintain the linearity of the segment. Use the middle mouse button to drag the central knot while leaving the tangent points in place.

The handles for non-Bézier points (cubic knots with multiplicity 1 or 2, linear knots, and isopoints) are all similar:

Handle on a non-Bézier point

 A Drag the square handle to move the tangent freely. Press Shift to scale the tangent length without affecting the slope. B Drag the round handle to rotate the tangent without changing its length. Press Shift to snap at mutliples of the Rotate increment (set in the Transform preferences). C Drag the knot (or isopoint) to move it freely. D Drag a control point to move it and affect the trace of the curve indirectly. This uses the current manipulation mode (Local, Global, Obj, Ref, etc.).

Note that if you move an isopoint that is adjacent to Bézier knots, the tangents will break. If desired, first add a Bézier knot at the isopoint's location to preserve continuity.

To use the Translate manipulator

The Translate manipulator of the Tweak Curve tool lets you move knots and isopoints using the manipulation modes on the Transform panel (Global, Local, View, Object, Ref, or Plane). You can toggle the Translate manipulator on or off by right-clicking on the Tweak Curve manipulator and choosing Translate Manipulator.

Translate Manipulator

 A Drag an arrow to translate in the corresponding direction. Double-click an arrow to restrict movement to that direction. Double-click again to restore all axes. Shift+double-click to toggle an individual axis on or off. B Drag the center to translate freely (in the viewing plane). C Drag between two arrows to translate in the corresponding plane.

Using Other Manipulation Tools

If you prefer, you can use other tools instead of the Tweak Curve tool to manipulate points on curves. However, these tools allow you to move only control points, not knots or isopoints. In addition, they do not maintain linear segments nor the alignment of back and forward tangents on Bézier knots.

Breaking and Aligning Bézier Tangents

On a Bézier knot, the back and forward tangents can have different orientations. When the tangents are "broken" or "unlinked" in this way, the result is a sharp corner.

A pair of broken tangent handles (A) and a pair of aligned tangent handles (B).

Breaking Tangents

You can break tangents manually using the Tweak Curve tool, or you can use the Make Bezier-Knot Corner command.

To break knots manually using the Tweak Curve tool

You can adjust Bézier tangent handles independently of each other with the middle mouse button while using the Tweak Curve tool. For more information about the Tweak Curve tool in general, see Using the Tweak Curve Tool.

To make corners at Bézier knots

1. Select one or more Bézier knots.

2. Choose Modify Curve Make Bezier-Knots Corners from the Model toolbar. The tangents are oriented to point at the adjacent control points.

Aligning Tangents

After tangent handles have been broken, they can be realigned to make the curve smooth again at that point.

To align tangents

1. Select one or more Bézier knots.

2. Choose one of the following commands from the Modify Curve menu on the Model toolbar:

• Align Bezier Handles sets the slopes of both tangents to their average orientation.

• Align Bezier Handles Back to Forward sets the slope of back tangent equal to the forward tangent.

• Align Bezier Handles Forward to Back sets the slope of forward tangent equal to the back tangent.

"Back" and "forward" are considered in terms of the curve's parameterization from start to end point.

Creating Straight Segments

You can create straight segments on curves using the commands available on the Modify Curve menu of the Model toolbar, or on the context menu of the Tweak Curve tool. Softimage creates Bézier knots, if necessary, and rotates the appropriate tangents to point at the adjacent knots. Once a straight segment has been created this way, the Tweak Curve tool maintains the linearity when you move the adjacent knots. However, the segment will revert to a curve if you adjust the tangent handles, or if you use a different tool to move control points.

To straighten segments between knots

1. Select the knots at both ends of each segment you want to straighten. You must do this individually for each segment you want to straighten, even if segments are consecutive.

2. Choose Modify Curve Make Knot Segments Linear from the Model toolbar.

The segments between selected knots become straight.

To straighten segments adjacent to a knot

1. Select a curve.

2. Activate the Tweak Curve tool (press M).

3. Move the mouse pointer over an unselected knot.

4. Right-click and choose one of the following commands from the context menu:

• Make Adjacent Knot Segments Linear straightens both segments connected to the knot.

• Make Fwd Knot Segment Linear straightens the forward segment.

• Make Bwd Knot Segment Linear straightens the back segment.

"Back" and "forward" are considered in terms of the curve's parameterization from start to end point.