DMesh Documentation - Curves


Overview

DMesh is heavily reliant on the use of curves throughout the application. The use of curves rather than points or vertices is what gives it both its flexibility and its capabilities. Many portions of DMesh use sets of curves, rather than a single definition. However, an understanding of how a single curve is defined will provide a solid basis for understanding the rest of the program features. This should provide a foundation for understanding how the curves are futher combined.


Defining Control Points

Control point entries are generally of the form <index, value>. The index component will generally range from 0.00 to 1.00, while the value component will contain the amount of offset or displacement desired at that point.

For example: <0.00, 0,00>, <0.50, 1.00>, <1.00, 0.00> will create a curve/offset value that starts at 0.00, increases to 1.00 at 50% of the way through the curve, and returns to 0.00 at the end (or 100%) of the curve.

For purposes of curve calculations though, the <index,value> point is actually treated as an <x,y> pair, and a polyline or curve is calculated using the 'distances' between each point. Although in the above example, the results are identical, this is not generally the case.

For example, <0.00, 0,00>, <0.25, 1.00>, <1.00, 0.00> will create a curve/offset value that peaks at roughly 40% of the way through the curve. If you wish the curve to specifically use the index component rather than the internal curve calculations, you can set the Control Point Indexing Type to X rather than Polyline. (refer to the Curve Properties dialog box and the Index Type explanation below.)

Some Control Point Entry Specifics


Additional Parameters

Curve Basis defines what type of basis matrix to use to determine the curve's properties between the control points. Polyline will connect the control points with a simple simple straight line. The CatRom type will create the intermediate curve points using the Catmull-Rom basis matrix. Provisions have been made for additional types, but these are the two most useful interpretations.

Repeats defines how many times the curve will be repeated throughout its length. Values of 0 or 1 will give a single repitition, while values greater than one will repeat the curve the specified number of times.

Resolution defines the number of sample points to calculate between each control point. This value is automatically determined for Polyline and Catmull-Rom curves, since they do not require any resolution specific pre-calculations.

Index Type determines how the distance between points is to be calculated and used to determine specific points along the curve. The default is Polyline, which will calculate the simple point-to-point distance between the control points, and use this as an approximation of the actual curve length. Setting the indexing type to X, Y or Z will result in the distance between the respective component being used as the distance between points.