曲線 C(t) の各点を、その点の法線方向に一定の距離 d だけ移動して得られる曲線をオフセット曲線といいます。
「輪郭から d だけ内側/外側に離れた線」を表すもので、CAD・CAM・作図の基本操作です。ところが、この式をそのまま計算しただけでは正しいオフセット曲線にならない場合があります。
N(t) は曲線が曲がっている側の中心(曲率中心)を向いています。曲率半径を ρ(t) とすると、内側へ d だけオフセットしたとき、d > ρ(t) となる区間では移動先が曲率中心を通り越してしまいます。その結果、オフセット曲線は折り返してループ(自己交差)を作ります。
この不正なループを自己交差点で切断して取り除き、残りをつなぎ直す処理を「トリミング(trimming)」と呼びます。
幾何学的に見ると、正しいオフセット曲線とは「元の曲線からの距離がちょうど d であり、かつ d より近い点を持たない」点の集合です。ループの内側に入り込んだ部分は、元の曲線からの距離が d より小さくなっているため、この条件を満たしません。したがってトリミングは「元の曲線から d 未満の距離にある区間を捨てる」操作と言い換えられます。
| ループが生じる条件 | オフセット距離 d が、その付近の曲率半径 ρ(t) を上回るとき(内側オフセットの場合)。 |
|---|---|
| 境界のケース | d = ρ(t) のとき、ループは潰れて尖点(カスプ)になる。κ(t) = 1/d を満たす t として検出できる。 |
| トリミングの判定基準 | 元の曲線からの最短距離が d より小さい区間は不正であるため除去する。 |
この処理は、ベジエクリッピング法の中でも特に自然な応用例です。必要な計算がすべて「ベジエ関数の零点を求める問題」に帰着するためです。
なぜベジエクリッピングが有利か
トリミングでは交差点をひとつでも見落とすと結果が破綻します(ループが残る、逆に必要な部分まで消える)。ニュートン法のような初期値依存の反復では、接近した2解や接触に近いケースで解を取りこぼす危険があります。ベジエクリッピング法は制御点の凸包性によって「この区間に解は存在しない」ことを保証しながら区間を狭めるため、解の取りこぼしが原理的に起こりません。CAD/CAM のように結果の正しさが加工精度に直結する場面では、この頑健性が決定的な利点になります。