gen_nurbs_interpT_gen_nurbs_interpGenNurbsInterpGenNurbsInterp (Operator)


gen_nurbs_interpT_gen_nurbs_interpGenNurbsInterpGenNurbsInterp — Create control data of a NURBS curve that interpolates given points.


gen_nurbs_interp( : : Rows, Cols, Tangents, Degree : CtrlRows, CtrlCols, Knots)

Herror T_gen_nurbs_interp(const Htuple Rows, const Htuple Cols, const Htuple Tangents, const Htuple Degree, Htuple* CtrlRows, Htuple* CtrlCols, Htuple* Knots)

void GenNurbsInterp(const HTuple& Rows, const HTuple& Cols, const HTuple& Tangents, const HTuple& Degree, HTuple* CtrlRows, HTuple* CtrlCols, HTuple* Knots)

static void HOperatorSet.GenNurbsInterp(HTuple rows, HTuple cols, HTuple tangents, HTuple degree, out HTuple ctrlRows, out HTuple ctrlCols, out HTuple knots)


gen_nurbs_interpgen_nurbs_interpGenNurbsInterpGenNurbsInterpGenNurbsInterp creates the NURBS control data CtrlRowsCtrlRowsCtrlRowsCtrlRowsctrlRows, CtrlColsCtrlColsCtrlColsCtrlColsctrlCols, and KnotsKnotsKnotsKnotsknots of a NURBS curve that interpolates the input points (RowsRowsRowsRowsrows, ColsColsColsColscols). If the input point list is not closed (i.e., the first point is identical to the last point), the tangents of the first and last point must be given in TangentsTangentsTangentsTangentstangents in the order [drow_0,dcol_0,drow_n-1,dcol_n-1] (for closed point lists, TangentsTangentsTangentsTangentstangents must be an empty tuple). Furthermore the DegreeDegreeDegreeDegreedegree of the NURBS curve must be specified.

The output of gen_nurbs_interpgen_nurbs_interpGenNurbsInterpGenNurbsInterpGenNurbsInterp can be used directly with gen_contour_nurbs_xldgen_contour_nurbs_xldGenContourNurbsXldGenContourNurbsXldGenContourNurbsXld with the weights vector set to 'auto'"auto""auto""auto""auto".

See the documentation of gen_contour_nurbs_xldgen_contour_nurbs_xldGenContourNurbsXldGenContourNurbsXldGenContourNurbsXld for more information on NURBS curves.

Execution Information


RowsRowsRowsRowsrows (input_control)  coordinates.y-array HTupleHTupleHtuple (real) (double) (double) (double)

Row coordinates of input point list.

Number of elements: Rows == Cols

ColsColsColsColscols (input_control)  coordinates.x-array HTupleHTupleHtuple (real) (double) (double) (double)

Column coordinates of input point list.

Number of elements: Cols == Rows

TangentsTangentsTangentsTangentstangents (input_control)  real-array HTupleHTupleHtuple (real) (double) (double) (double)

Tangents at first and last point.

Default value: []

DegreeDegreeDegreeDegreedegree (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Order of the output curve.

Default value: 3

Suggested values: 2, 3, 4, 5

Restriction: Degree >= 2

CtrlRowsCtrlRowsCtrlRowsCtrlRowsctrlRows (output_control)  coordinates.y-array HTupleHTupleHtuple (real) (double) (double) (double)

Row coordinates of the control polygon.

CtrlColsCtrlColsCtrlColsCtrlColsctrlCols (output_control)  coordinates.x-array HTupleHTupleHtuple (real) (double) (double) (double)

Column coordinates of the control polygon.

Number of elements: Cols == Rows

KnotsKnotsKnotsKnotsknots (output_control)  real-array HTupleHTupleHtuple (real) (double) (double) (double)

The knot vector of the output curve.


If all input parameters are correct gen_nurbs_interpgen_nurbs_interpGenNurbsInterpGenNurbsInterpGenNurbsInterp returns the value 2 (H_MSG_TRUE).

Possible Successors


See also

draw_nurbs_interpdraw_nurbs_interpDrawNurbsInterpDrawNurbsInterpDrawNurbsInterp, draw_nurbs_interp_moddraw_nurbs_interp_modDrawNurbsInterpModDrawNurbsInterpModDrawNurbsInterpMod


L. Piegl, W. Tiller: ”The NURBS Book”, 2nd Edition, Springer, 1997.