n次有理ベジエ曲線の境界箱(バウンディングボックス)

操作:オレンジの丸=制御点(ドラッグで移動、ダブルクリックで重み w を編集)。

曲線と境界箱
曲線 C(t) 制御点 Pi 曲線の境界箱(実線) 制御点の境界箱(点線) x 方向の極値点 y 方向の極値点
gx(t) = X'W − W'X(2n−1次)と凸包 (x の極値)
gy(t) = Y'W − W'Y(2n−1次)と凸包 (y の極値)
g(t) の曲線 制御点の凸包 根
計算中...

曲線 C(t) = (X(t)/W(t), Y(t)/W(t))、X(t)=ΣwixiBin(t)、W(t)=ΣwiBin(t) とします。 垂直軸からの距離 x(t)=X/W の極値は x'(t)=0、すなわち gx(t) = X'(t)・W(t) − W'(t)・X(t) = 0 の根で生じます(水平軸からの距離 y(t) も同様に gy)。 gx, gy は 2n−1 次 のベジエ関数として表せるので、その根をベジエクリッピング法で求め、 端点 t=0,1 と合わせた候補で x, y の最小値・最大値を評価して厳密な境界箱(赤の実線)を求めます。 比較として、制御点の x, y 成分の最小・最大から作る制御点の境界箱(灰色の点線)も表示します (重みが全て正なら凸包性により曲線は必ずこの中に入ります)。