2

私は2つの3次ベジエ曲線を持っています、

曲線 1:- 1 番目のアンカー ポイント (a1x、a1y)、1 番目のコントロール ポイント (c1x、c1y)、2 番目のコントロール ポイント (c2x、c2y)、2 番目のアンカー ポイント (a2x、a2y)

曲線 2:- 1 番目のアンカー ポイント (a3x、a3y)、1 番目のコントロール ポイント (c2x、c3y)、2 番目のコントロール ポイント (c4x、c4y)、2 番目のアンカー ポイント (a4x、a4y)

ここで、これら 2 つのベジエ曲線の交点を見つけたいと思います。

どうやってするの?アルゴリズムに関する参考文献はどれでも役に立ちます。

4

4 に答える 4

9

ベジエ曲線の交点を見つける主な方法は 2 つあります。

  1. 再帰的細分化は、ベジエ曲線の凸包特性を利用し、通常、その曲線セグメントの境界ボックスの交差をチェックします。

本 Graphics Gems IV のコードとテキストの説明

  1. 2 つの 3 次方程式系の数値解。これは 9 次の多項式となり、9 つの実根を持つ可能性があります (2 つの S 字型曲線の場合)。解は数値的に不安定であることに注意してください。

JS コードインタラクティブなデモンストレーション C++ コードは、Geometric Toolsの WildMagic ライブラリにあると思います。

于 2013-04-17T11:01:20.843 に答える
2

3 次ベジエ曲線は、3 次多項式です。2 つの立方体が交差するときを見つけたい場合は、2 つの立方体が等しいときを見つけます。つまり、

a 1 x 3 + b 1 x 2 + c 1 x + d 1 = a 2 x 3 + b 2 x 2 + c 2 x + d 2

それは、3 次方程式の根を見つけることと同じです。

(a 1 - a 2 )x 3 + (b 1 - b 2 )x 2 + (c 1 - c 2 )x + (d 1 - d 2 ) = 0

3 次方程式は、解析的に解くことができます。たとえば、Cardano の方法を参照してください。あるいは、ニュートン・ラフソンなどの方法を使用して解を反復することもできます。ただし、立方体はゼロに等しい点を 3 つまで持つことができることに注意してください。

于 2013-04-17T06:53:54.120 に答える