gen_nurbs_interpT_gen_nurbs_interpGenNurbsInterpGenNurbsInterp (Operator)

Name

gen_nurbs_interpT_gen_nurbs_interpGenNurbsInterpGenNurbsInterp — Erzeugen von Kontrolldaten einer NURBS Kurve, die gegebene Punkte interpoliert.

Signatur

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)

Beschreibung

gen_nurbs_interpgen_nurbs_interpGenNurbsInterpGenNurbsInterpGenNurbsInterp erzeugt die Kontrolldaten CtrlRowsCtrlRowsCtrlRowsCtrlRowsctrlRows, CtrlColsCtrlColsCtrlColsCtrlColsctrlCols und KnotsKnotsKnotsKnotsknots einer NURBS Kurve, die die Eingabepunkte (RowsRowsRowsRowsrows, ColsColsColsColscols) interpoliert. Falls die Eingabepunktliste nicht geschlossen ist (das heißt, der erste und der letzte Punkt sind identisch), müssen zusätzlich die Tangenten im ersten und im letzten Punkt in der Reihenfolge [drow_0,dcol_0,drow_n-1,dcol_n-1] in TangentsTangentsTangentsTangentstangents übergeben werden (für geschlossene Punktlisten muss TangentsTangentsTangentsTangentstangents ein leeres Tupel sein). Darüberhinaus muss der gewünschte Grad für die NURBS Kurve in DegreeDegreeDegreeDegreedegree angegeben werden.

Die Ausgabe von gen_nurbs_interpgen_nurbs_interpGenNurbsInterpGenNurbsInterpGenNurbsInterp kann direkt in gen_contour_nurbs_xldgen_contour_nurbs_xldGenContourNurbsXldGenContourNurbsXldGenContourNurbsXld verwendet werden, wenn der Gewichtsvektor auf 'auto'"auto""auto""auto""auto" gesetzt wird.

Ausführliche Informationen über NURBS Kurven befinden sich in der Dokumentation von gen_contour_nurbs_xldgen_contour_nurbs_xldGenContourNurbsXldGenContourNurbsXldGenContourNurbsXld.

Ausführungsinformationen

Parameter

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

Zeilenkoordinaten der Eingabepunkte.

Parameteranzahl: Rows == Cols

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

Spaltenkoordinaten der Eingabepunkte.

Parameteranzahl: Cols == Rows

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

Tangenten des ersten und letzten Punktes.

Defaultwert: []

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

Grad der Ausgabekurve.

Defaultwert: 3

Wertevorschläge: 2, 3, 4, 5

Restriktion: Degree >= 2

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

Zeilenkoordinaten des Kontrollpolygons.

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

Spaltenkoordinaten des Kontrollpolygons.

Parameteranzahl: Cols == Rows

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

Knotenvektor der Ausgabekurve.

Ergebnis

Sind alle Eingabeparameter korrekt, gibt gen_nurbs_interpgen_nurbs_interpGenNurbsInterpGenNurbsInterpGenNurbsInterp den Wert 2 (H_MSG_TRUE) zurück.

Nachfolger

gen_contour_nurbs_xldgen_contour_nurbs_xldGenContourNurbsXldGenContourNurbsXldGenContourNurbsXld

Siehe auch

draw_nurbs_interpdraw_nurbs_interpDrawNurbsInterpDrawNurbsInterpDrawNurbsInterp, draw_nurbs_interp_moddraw_nurbs_interp_modDrawNurbsInterpModDrawNurbsInterpModDrawNurbsInterpMod

Literatur

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

Modul

Foundation