gen_nurbs_interpT_gen_nurbs_interpGenNurbsInterpGenNurbsInterpgen_nurbs_interp (Operator)
Name
gen_nurbs_interpT_gen_nurbs_interpGenNurbsInterpGenNurbsInterpgen_nurbs_interp
— Create control data of a NURBS curve that interpolates given points.
Signature
def gen_nurbs_interp(rows: Sequence[float], cols: Sequence[float], tangents: Sequence[float], degree: int) -> Tuple[Sequence[float], Sequence[float], Sequence[float]]
Description
gen_nurbs_interpgen_nurbs_interpGenNurbsInterpGenNurbsInterpGenNurbsInterpgen_nurbs_interp
creates the NURBS control data
CtrlRowsCtrlRowsCtrlRowsCtrlRowsctrlRowsctrl_rows
, CtrlColsCtrlColsCtrlColsCtrlColsctrlColsctrl_cols
, and KnotsKnotsKnotsKnotsknotsknots
of a NURBS
curve that interpolates the input points (RowsRowsRowsRowsrowsrows
, ColsColsColsColscolscols
).
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 TangentsTangentsTangentsTangentstangentstangents
in the order [drow_{0},dcol_{0},drow_{n-1},dcol_{n-1}]
(for closed point lists, TangentsTangentsTangentsTangentstangentstangents
must be an empty tuple).
Furthermore the DegreeDegreeDegreeDegreedegreedegree
of the NURBS curve must be specified.
The output of gen_nurbs_interpgen_nurbs_interpGenNurbsInterpGenNurbsInterpGenNurbsInterpgen_nurbs_interp
can be used directly with
gen_contour_nurbs_xldgen_contour_nurbs_xldGenContourNurbsXldGenContourNurbsXldGenContourNurbsXldgen_contour_nurbs_xld
with the weights vector set to
'auto'"auto""auto""auto""auto""auto".
See the documentation of gen_contour_nurbs_xldgen_contour_nurbs_xldGenContourNurbsXldGenContourNurbsXldGenContourNurbsXldgen_contour_nurbs_xld
for more information
on NURBS curves.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
RowsRowsRowsRowsrowsrows
(input_control) coordinates.y-array →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Row coordinates of input point list.
Number of elements: Rows == Cols
ColsColsColsColscolscols
(input_control) coordinates.x-array →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Column coordinates of input point list.
Number of elements: Cols == Rows
TangentsTangentsTangentsTangentstangentstangents
(input_control) real-array →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Tangents at first and last point.
Default value: []
DegreeDegreeDegreeDegreedegreedegree
(input_control) integer →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Order of the output curve.
Default value: 3
Suggested values: 2, 3, 4, 5
Restriction: Degree >= 2
CtrlRowsCtrlRowsCtrlRowsCtrlRowsctrlRowsctrl_rows
(output_control) coordinates.y-array →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Row coordinates of the control polygon.
CtrlColsCtrlColsCtrlColsCtrlColsctrlColsctrl_cols
(output_control) coordinates.x-array →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Column coordinates of the control polygon.
Number of elements: Cols == Rows
KnotsKnotsKnotsKnotsknotsknots
(output_control) real-array →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
The knot vector of the output curve.
Result
If all input parameters are correct gen_nurbs_interpgen_nurbs_interpGenNurbsInterpGenNurbsInterpGenNurbsInterpgen_nurbs_interp
returns the
value TRUE.
Possible Successors
gen_contour_nurbs_xldgen_contour_nurbs_xldGenContourNurbsXldGenContourNurbsXldGenContourNurbsXldgen_contour_nurbs_xld
See also
draw_nurbs_interpdraw_nurbs_interpDrawNurbsInterpDrawNurbsInterpDrawNurbsInterpdraw_nurbs_interp
,
draw_nurbs_interp_moddraw_nurbs_interp_modDrawNurbsInterpModDrawNurbsInterpModDrawNurbsInterpModdraw_nurbs_interp_mod
References
L. Piegl, W. Tiller: ”The NURBS Book”, 2nd Edition, Springer, 1997.
Module
Foundation