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_interpGenNurbsInterpGenNurbsInterpgen_nurbs_interp
creates the NURBS control data
CtrlRowsCtrlRowsCtrlRowsctrlRowsctrl_rows
, CtrlColsCtrlColsCtrlColsctrlColsctrl_cols
, 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_interpGenNurbsInterpGenNurbsInterpgen_nurbs_interp
can be used directly with
gen_contour_nurbs_xldgen_contour_nurbs_xldGenContourNurbsXldGenContourNurbsXldgen_contour_nurbs_xld
with the weights vector set to
'auto'"auto""auto""auto""auto".
See the documentation of gen_contour_nurbs_xldgen_contour_nurbs_xldGenContourNurbsXldGenContourNurbsXldgen_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
RowsRowsRowsrowsrows
(input_control) coordinates.y-array →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Row coordinates of input point list.
Number of elements:
Rows == Cols
ColsColsColscolscols
(input_control) coordinates.x-array →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Column coordinates of input point list.
Number of elements:
Cols == Rows
TangentsTangentsTangentstangentstangents
(input_control) real-array →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Tangents at first and last point.
Default:
[]
DegreeDegreeDegreedegreedegree
(input_control) integer →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Order of the output curve.
Default:
3
Suggested values:
2, 3, 4, 5
Restriction:
Degree >= 2
CtrlRowsCtrlRowsCtrlRowsctrlRowsctrl_rows
(output_control) coordinates.y-array →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Row coordinates of the control polygon.
CtrlColsCtrlColsCtrlColsctrlColsctrl_cols
(output_control) coordinates.x-array →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Column coordinates of the control polygon.
Number of elements:
Cols == Rows
KnotsKnotsKnotsknotsknots
(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_interpGenNurbsInterpGenNurbsInterpgen_nurbs_interp
returns the
value 2 (
H_MSG_TRUE)
.
Possible Successors
gen_contour_nurbs_xldgen_contour_nurbs_xldGenContourNurbsXldGenContourNurbsXldgen_contour_nurbs_xld
See also
draw_nurbs_interpdraw_nurbs_interpDrawNurbsInterpDrawNurbsInterpdraw_nurbs_interp
,
draw_nurbs_interp_moddraw_nurbs_interp_modDrawNurbsInterpModDrawNurbsInterpModdraw_nurbs_interp_mod
References
L. Piegl, W. Tiller: ”The NURBS Book”, 2nd Edition, Springer, 1997.
Module
Foundation