From K-3D

Jump to: navigation, search


Inserts a new Knot with the specified u-value
Plugin Status:Experimental
Categories:All Plugins, Experimental Plugins, NURBS Plugins


Name Value


Label Description Type Script Name
Input Mesh Input mesh k3d::mesh* input_mesh
Output Mesh Output mesh k3d::mesh* output_mesh
Mesh Selection Input Mesh Selection k3d::selection::set mesh_selection
u_value Insert knot at [0,1] k3d::double_t u_value
multiplicity Multiplicity k3d::int32_t multiplicity


Knot Insertion is a fundamental algorithm on Nurbs, the implementation here follows the implementation of Piegl and Tiller [1].

This operation will be executed on all selected curves in the mesh!

The knot vector of this curve gets normalized and a new knot gets inserted at the specified position (hence, 0 =< u =< 1). This causes the insertion of one new control vertex and transformation of its neigbours (the number of modified vertices equals the order). This is neccessary to provide an unchanged shape of the curve.

The multiplicity of a knot is limited to the degree of the curve, just the first and last knot may have a multiplicity equal to the order of the curve.
So if you add a knot that is already inside the knot vector this limitation is taken account of.
The effect of the multiplicity is that at this knot the same number of control vertices gets activated/deactivated, meaning the curve will be continuous at this point only if multiplicity is smaller than the order, it wont be deriveable if the multiplicity exceeds the degree. The latter can be seen easily because the curve has an edge at this knot if you move the corresponding control vertices.

Inserting a knot into a circle.
Notice the number and position of the control vertices in the upper left quadrant.


[1] The NURBS book, A. Piegl and W. Tiller, page 141ff (,M1)