第85回: 曲線のフィッティング
- 7月17日
- 読了時間: 2分
曲線を取り扱っているときに、1つの曲線のように見えるが、実は細かな曲線(線分)の集合だった、などということはないでしょうか?

このような要素は、他で作成した要素を取り込んだときなどに生じることがあります。そのままでは困るので、多くの場合は一本化して作業すると思います。

しかしこのような曲線群を一本化すると、できた曲線は 内部の連続性が0 の曲線になってしまいます。

前々回 第83回 の「連続性0:折れたセグメント」で解説しましたが、セグメント間の連続性0の要素はあまり好ましくないですよね。何とか改善したいところです。
第83回では、曲線を尖点で分割する手順をお知らせしました。しかし今回の例では、折角一本化したのに、また分割するわけにもいきません。このような場合は、曲線フィッティング コマンドを使用して、曲線をフィッティング(=近似して高品質化)します。
曲線フィッティング コマンドでは、次数、連続性、セグメント数 を指定してフィッティング曲線を作成します。

通常は 次数3、連続性2 程度からスタートします。また、選択リストから クオリティチェック を展開すると、元の曲線との差(最大距離)を確認することができます。
セグメント数 を調整すると、最大距離の値が変化するので、許容できる値になるパラメーターでコマンドを実行します。

なお、最大距離が小さければ小さいほど良いかというと、そういうわけではありません。セグメント数をどんどん増やして最大距離を小さくしていくと、曲線の形状は元の折れ線にどんどん近づいていきますが、その結果、振動するような形状になることがあります。これはこれであまり好ましくありません。
次の例は、一番下が折れ線を一本化した元の曲線、上の3つが曲線フィッティングで近似したものです。下に行くほどセグメント数を増やして最大距離を小さく、つまり、元の曲線に近く作成しています。元の曲線に最も近い一番下は、かなり振動しています。

この例からも分かるように、近似曲線は元の曲線からある程度離した方が曲線全体はスムーズになります。
どの程度までの差違が許容されるかはケースバイケースなので、作成しているモデルの大きさなどからご判断ください。
thinknews vol.892(2026年6月12日配信)




コメント