円などのパラメトリック カーブがあるとします。
x = r * cos(t)
y = r * sin(t)
次のような方法で画面に曲線をプロットします。
- すべてのピクセルが一度だけペイントされます (最適な部分)
- 曲線(連続部分)上にある各(x、y)にペイントされたピクセルがあります
[t1, t2] の各 t に対して (x, y) をプロットするだけでは、これらの条件は満たされません。
パラメトリック曲線の一般的な解決策を探しています。
基準を 100% 満たす一般的なソリューションは存在しません。
だから私たちは妥協しなければなりません。
通常、これはステップサイズ (通常はルーチンへのパラメーター) から開始することで対処されます。このステップサイズは、ヒューリスティックなどによってトリガーされて細分化できます。
セグメントがカバーする距離が指定された距離 (例: 1 ピクセル) よりも大きい場合に再分割します。
曲線の方向が変わりすぎた場合に細分化する
またはこれらの組み合わせ。
通常、永遠に取得することを避けるために、細分化にもいくつかの制限が与えられます。
パラメトリック プロットを提供する多くのシステムは、ヒューリスティック パラメーターとステップ サイズの変更可能なデフォルト設定から始めます。曲線が十分に「きれい」でない場合、または時間がかかりすぎる場合、ユーザーはこれらを調整できます。
問題は、描画方法を無効にして詳細を見逃したり、時間がかかりすぎたりする病的な曲線が常に存在することです。
ベジェ スプラインを確認してください。