名前

ST_Knots — NURBS曲線のノットベクトル (knot vector)を返します。

概要

float8[] ST_Knots(geometry nurbscurve);

説明

NURBS曲線のノットベクトル (knot vector)を倍精度浮動小数点数配列で返します。ノットベクトルはパラメーター空間を決め、制御点が曲線に影響を与える場所と強さを制御します。返り値は必ず (制御点数+次数+1)に等しい長さで、昇順になります。

曲線がデフォルトの開一様ノットベクトルを使う場合、または入力がNULLの場合にはNULLを返します。入力がNURBS曲線でない場合にはエラーが発生します。

Availability: 3.7.0

この例では独自のノットベクトルを持つNURBS曲線からノットベクトルを返します。

Code
SELECT ST_Knots(ST_MakeNurbsCurve(
        2,
        'LINESTRING(0 0,5 10,10 0)'::geometry,
        ARRAY[1.0, 2.0, 1.0],
        ARRAY[0, 0, 0, 1, 1, 1]));
出力:
{0,0,0,1,1,1}
Figure
Geometry figure for visual-st-knots-01

この例ではデフォルトのノットベクトルを使っている曲線のノットベクトルを調べます。

Code
SELECT ST_Knots('NURBSCURVE(2, (0 0, 5 10, 10 0))'::geometry);
出力:
null
Figure
Geometry figure for visual-st-knots-02