9

(この質問のフォローアップ。)

一連の 3 次ベジエ曲線が与えられた場合、それらを最小限に変更して C2 連続の方法で結合するにはどうすればよいですか?

入力:

  • 制御点P0P1P2、を持つ曲線 PP3
  • 制御点Q0Q1Q2、を持つ曲線 QQ3
  • それが役立つ場合は、それらがすでに C1 連続であると想定できます。

制約:

  • C0 連続性:P3 = Q0
  • C1 連続性:P2 - P3 = Q0 - Q1
  • C2 連続性:P1 - 2*P2 + P3 = Q0 - 2*Q1 + Q2
  • 元の曲線 P および Q にできるだけ近い修正曲線
4

1 に答える 1

3

変更された曲線を元の曲線にできるだけ近づける方法には複数の解釈がありますが、端点と接線を結合点から一定に保つことが適切であると考えることができます。したがって、ポイントP0P1P3 = Q0Q2Q3一定です。

P3 = Q0 = 0C2 連続性の強制は、次のように表すことができるように、原点を変更できます。

P1 - 2*P2 = 2*Q1 + Q2

P2=a*e^i*rおよび複雑な表現で表現できますQ1=b*e^i*r(同じ角度を維持すると、C2 連続性が強制されます。

(P1 - Q2)/2 = c*e^i*s

C2 の連続性を強制するには、 を選択し、などr=sの組み合わせを見つける必要があります。無限に多くの解決策がありますが、最小の場合に変更するなどのヒューリスティックを使用する場合があります (したがって、意味のない変更が生成されます)。aba+b =ca

それでも変動が十分に小さい場合は、2 段階の最適化を試してください。最初に を変更P1Q2て にs近づけr、次に上記の手順を適用します。

于 2012-09-26T19:33:13.260 に答える