名前

ST_NurbsCurveIsRational — NURBS 曲線が有理である (重みをもつ) かを調べます。

概要

boolean ST_NurbsCurveIsRational(geometry nurbscurve);

説明

NURBS 曲線がその制御点に重みが割り当てられている場合には TRUE を返します。一様の重みが使われている場合 (非有理 B スプラインの場合) には FALSE を返します。

有理 NURBS 曲線は、曲線形状で可変の重み付けによって、より柔軟になります。非有理B スプラインでは一様の重みを使うもので、NURBS 曲線の特別な場合です。

入力が NURBS 曲線でない場合にはエラーが発生します。入力が NULL の場合には NULL を返します。

Availability: 3.7.0

この例では曲線が有理であるかどうかを調べます。

コード
SELECT ST_NurbsCurveIsRational(ST_MakeNurbsCurve(
        2,
        'LINESTRING(0 0,5 10,10 0)'::geometry,
        ARRAY[1.0, 2.0, 1.0]));
出力
t
Geometry figure for visual-st-nurbscurveisrational-01

この例では非有利な曲線を調べます。

コード
SELECT ST_NurbsCurveIsRational('NURBSCURVE(2, (0 0, 5 10, 10 0))'::geometry);
出力
f
Geometry figure for visual-st-nurbscurveisrational-02