Free Form Curves
Free-form curves are defined by arrays of 3D points called
Data Points or Data Array. To be continuous the
curve is interpolated between data points. Data points do not have to be spaced
evenly. Two consecutive points in the array must be different.
InterpolationDegree is an important property of a free-form curve. It
determines how curve points are calculated between data points. The
greater is InterpolationDegree the smoother the curve appears.
In calculation of internal point InterpolationDegree+1 points are
taken into account, which means that the curve has to have at least
InterpolationDegree+1 data points. By default, InterpolationDegree
is 1, in which case the curve is approximated by straight segments
between data points.
The software assumes that the curve is smooth. If the modelled curve has sharp
angles it still can be approximated, but InterpolationDegree has
to be set to 1. It is recommended to (nearly) duplicate the angle point by
adding another point very close to it, but not coinciding.
Free-form curves can be accessed via the
ICurveFreeForm_DG
interface.
Free-form curves are Geometric Curves, hence they
implement ICurve_DG
interface..
When Closed property is set to true the Data Array is assumed to
represent a closed curve (continuous loop).
To create a free-from curve:
1. Call to IObjectGenerator_DG.Create<ICurveFreeForm_DG>() to obtain
ICurveFreeForm_DG.
2. Obtain IPointArray_DG
of the data array with a call to ICurveFreeForm_DG.GetData
3. Use
IPointArray_DG to define the point array.
4. Select or tune in value for the InterpolationDegree property
most appropriate for the application.
Performance note: Higher degree of interpolation makes relevant
calculations little slower, but allow using fewer data points, which can
actually result in better performance. It is recommended to make few experiments
to find appropriate settings.
See also:
Curves Overview, Native Curves
|