Cinema 4D Cinema 4D Prime Create Menu Spline Formula
Function available in CINEMA 4D Prime, Visualize, Broadcast, Studio & BodyPaint 3D

Basic Coord. Object

Object Properties

X(t)
Y(t)
Z(t)

Enter a mathematical command, with dependent variable t, for each of these directions. A llst with possible formulas can be found here.

Tmin [-∞..+∞]
Tmax [-∞..+∞]

Specify the definition range here.

Samples [2..2147483647]

Using this value you can define how many vertices between Tmin and Tmax are to be created. The value you enter will specify how many times a spline will be divided (note: it will always calculate one vertex more than the value you input).

In the following illustration is a standard sine wave with a definition range of -1 to +1. Below it we see the same command but this time with a range of -2 to +2. In both cases, the number of steps was set to 10.

The same curve using various ranges for t.

As you increase the range of values that t can take, you may need to increase the Samples value in order to keep the curve smooth.

Cubic Interpolation

Enable this option to keep down the number of vertices. Cubic interpolation adds additional intermediate values between two vertices, effectively calculated according to the interpolation.

The effect of cubic interpolation. No interpolation (top), interpolation enabled (below).

Figure 2, above, illustrates the differences between interpolated and non-interpolated (true) examples of the curve.

The true and interpolated curves.

Plane

With this drop-down list you choose in which of the three planes the spline primitive is created.

Reverse

Enabling this option will reverse the point order of the spline (see also Spline Primitives.

Type

Linear

This simplest of all the spline types connects the vertices, which define the polygon, with straight, directly connected lines. You can use these splines to create angular objects or to simulate sharp jerky movements for animation.

Cubic

This kind of spline has a soft curve between vertices. The interpolated curve passes directly through the vertices. Looking at the two points at the top right of the diagram, you can see that the curve bulges more than is probably required. This behavior is called overshooting, and it often appears with closed curvatures. This becomes clearer when you compare this section of the curve with the same section of the curve with Akima interpolation.

Akima

This spline type creates a soft curve between vertices. The interpolated curve always passes directly through the vertices. Overshooting does not happen with this type of curve. Akima interpolation adheres very closely to the path of the curve directly between the vertices but, because of this, it can sometimes appear somewhat hard. If this is not required, you should use Cubic interpolation.

B-Spline

This kind of spline also creates a soft curve between the vertices. However, the curve does not pass directly through the vertices. This produces a very smooth curve. The vertices control only the approximate path of the curve. Distant points have less influence on the curve than those lying closer together.

Bezier

This spline type creates a soft curve path between the vertices, which can be controlled very precisely. The interpolated curve always passes through the vertices. Overshoot does not happen.

Compared to the other spline types available, Bezier splines are the most functional, offering the most control. Therefore Cinema 4D uses Bezier splines for its animation system.

If you activate a vertex of the spline (i.e. by clicking on it), additional control points at the tangents to the curve become visible. Changing the direction of the tangent handles controls the direction of the curve at each vertex. To do this, drag the tangent end point.

Tip:
The editing methods described below refer to the Move, Rotate and Scale tools. Note the Spline-Stift, which is optimized for working with splines and therefore works somewhat differently as described below.

By adjusting the length of these tangent handles, you can control the strength of the curvature. Drag the tangent end point towards the vertex point and observe the symmetrical movement of the opposite handle.

In the previous illustrations all tangents lie horizontally. Now let’s rotate the tangent of the upper point through 180° so that the left tangent end point lies on the right, the right on the left.

You can see the result in this illustration.

You can change the lengths of the tangents separately from each other. To do this, Shift-drag a tangent end point.

You can set different tangent directions on the right and on the left of the vertex. With this approach you can make the otherwise smooth path of a curve produce sharp corners and peaks, if required. To do this, Shift-drag a tangent end point.

If the tangents of two neighboring points have zero length, the segment that runs between the vertices will be linear. Thus, you can mix linear segments with curved spline shapes.

If you double-click on a Bezier vertex with the Move, Scale or Rotate tool active, a dialog opens that allows you to accurately enter both the position of the vertex (in the spline’s object coordinates) and the position of the tangent end points (relative to the vertex) numerically.

If you convert a Bezier spline to a different type of spline, all tangent settings will be lost. If a spline is converted from a non-Bezier type to a Bezier type, all tangents will be assigned default positions and orientations.

Close Spline

Close Spline enabled (left) and disabled (right).

Each spline segment can be closed or open. If a spline is closed, the start and end points are connected.

There is a big difference between closing a spline (and interconnecting the start and end points) and simply positioning the start and end points together. In the first case, the transition from the start to the end point is soft, in the second case it is abrupt.

To close the spline, Ctrl-click the start point.

Intermediate Points

Here you can define how the spline is further subdivided with intermediate points. This affects the number of subdivisions created when using the spline with Generator objects. Even after you select the Interpolation type from the menu for the Intermediate Points, you can still make changes.

None

This method of interpolation locates points only at the vertices of a spline, using no additional intermediate points. You cannot enter values into the Number or Angle boxes. For B-splines, the vertices, and therefore points, might not be located on the spline curve.

Natural

This interpolation type first locates points at spline vertices. In the case of B-splines, points are located at positions on the spline curve closest to the spline vertices. Number (N) corresponds to the number of intermediate points between vertices. The points are positioned closer together on areas of the spline with more curvature.

You cannot enter values into the Angle box. The interpolation is not affected by reversing the point order.

Uniform

This interpolation subdivides the spline so that the distance between any two consecutive points, as measured along the spline curvature, is constant. One point is always located at the beginning vertex. For open splines, a point is also located at the ending vertex. Other points generally do not coincide with vertices.

You cannot enter values into the Angle box. The interpolation is not affected by reversing the point order.

For Natural and Uniform interpolation, the number of intermediate points is calculated as follows:

Open spline: ((Number + 1) * (number of vertices - 1)) + 1

Closed spline: (Number +1) * number of vertices

So an open spline with four vertices and a number of 2 will contain ((2+1)*(4-1))+1=10 intermediate points. If the spline is then closed, a further (virtual) vertex is added — the number of intermediate points will then be (2+1)*4=12. This ensures that a spline is not more roughly divided when you close it.

This interpolation type sets intermediate points whenever the angle deviation of the curve is larger than the value given in Angle. The points of the resulting curve pass through the vertices. If a spline has several segments, then the value of Angle will apply to each segment.

The Adaptive method gives the best results in rendering, hence it is the default interpolation method.

You cannot enter values into the Number box.

Subdivided

Subdivided is similar to Adaptive. Additional intermediate points will be added until the intermediate segments are shorter than the defined Maximum Length, i.e., the point intervals will not necessarily be equal to the maximum length. Lower values will result in higher quality, along with the disadvantages of working with a high number of points - slower refresh times in the editor view, etc.

Especially the render quality of deformed text can be greatly improved using this method. More or less perfect caps and edges without shading errors can be achieved by setting Maximum Length to the same value as Width in the Extrude object (Caps tab, activated Regular Grid option). The subdivision of the letters and caps will match and must not be done manually.

Left: Intermediate points Adaptive; right: Subdivided, applied to an active formula deformation object. Note the defined edges at the right of the image.

Number [0..5000]

Angle [0..90°]

Maximum Length [0.01..+∞m]

This setting controls the maximum spline segment length without adding intermediate points, and is only available if the Intermediate Points parameter is set to Subdivided.