3

物理エンジンの真円度/曲率を形にしようとしています。

私は、曲線を数学的に定義するためのさまざまな方法を知っています。ベジェ曲線、楕円など。ただし、速度、構築の実現可能性、および各方法の柔軟性を考慮する必要があるため、物理エンジンでの使用に最適な方法はわかりません。ユーザーがかなり複雑な曲線を簡単に作成できるが、それでも交差計算を単純かつ高速にするシステムが必要です。

私の物理エンジンも純粋に連続的です。つまり、一定の線形/角速度に基づいて、曲線が他の曲線や線と衝突する時間を計算できる必要があります。

  • 2D曲線を数学的に定義するためのテクニックは何ですか?

  • スピード、柔軟性、構造のシンプルさの点で、それぞれの長所/短所は何ですか?

  • 形状交差の予測可能性が重要なエンジンでこの手法は実行可能ですか?

4

1 に答える 1

3

あなたのタグが言うように、あなたはBezier curveを記述しています。これは数学的に明確に定義されているため、衝突検出に使用できますが、実行内容によっては、方程式を記述して解決するのが少し難しくなる可能性があります。私はそれについてあまり知りませんが、スプラインにアプローチする標準的な方法と思われるものはNURBSであり、ウィキペディアにはこのトピックに関するかなりの記事があるようです。NURBS の記事ではおそらくこれらすべてがカバーされていますが、一連のポイント間に滑らかな曲線を描く手っ取り早い汚い方法は、3 次スプラインを使用することです。一次導関数がエッジで一致するように、2 つのポイントごとに 3 次多項式を補間します。そうすれば、すべてのポイントを通過し、最初のポイントに鋭い角がなく、どこでも滑らかに見える曲線が得られます。

于 2011-12-06T19:48:57.113 に答える