1

2Dオブジェクトがある場合、中心を15度ずつ回転させるだけで、これを15度の回転に簡単に分割できます。

3Dオブジェクトについて、それぞれの間に等間隔で可能なすべての角度を計算したい場合、これをどのように実行しますか。

それぞれに対してp*r * yを実行すると機能しますが、それはかなり恣意的であり、膨大な量の重複があります。クォータニオンソリューションも本当に欲しいです。

私は現在取り組んでいるビデオゲームプロジェクトのためにこれを行っています。これは基本的に、ゲームプレイの3Dは2Dスプライトとしてレンダリングされる古い学校のフライトシムです。私は、飛行機モデルのすべての可能な角度を、それぞれの直交する角度を含む等間隔の角度で手続き的にレンダリングする簡単な方法を探しています。

4

1 に答える 1

2

これにはさまざまな方法があります。ソリューションは、与えられた情報から一意に定義されていません。また、無限の角度があるため、「すべての可能な角度」という表現は誤解を招くことに注意してください。

それにもかかわらず、「3D 角度」が文字通り立体角(ステラジアンの単位) を意味する場合、プラトン立体は球を等しい立体角に分割します。(技術的には、球状の多面体が必要ですが、多面体の解を取り、それを「緩和」できるという意味では、それらは「ほぼ」同じです。)

「各直交[角度]」(互いに直交するビューのトリプレットが必要であること)を希望するという条件を念頭に置いてください。これ、つまり八面体:

ここに画像の説明を入力

悲しいことに、これは直交ビュー (およびそれらのビューのみ) を取得することに対応します。それは退屈で、おそらくあなたが求めていたものではありません. ただし、このソリューションに基づいて、八面体を細分割することができます。次の 2 つの可能性があります。

  1. 八面体の面ごとに、その面の中心に新しいビューを作成できます (星形)。結果は、この 4 つのビューの折り紙に描かれているように、各頂点からのビューになります(奇妙なことに、私が見つけた最高の図)。したがって、直交する角度に加えて、各軸間に の形式の 8 つの角度が得られます(±1,±1,±1)。ビューの数を扱いやすいサイズに抑えます。

  2. より多くのビューが必要な場合は、正二十面体ではなく八面体から始めることを除いて、ジオデシック ドームを構築するようなことを行うことができます。最初の例では、三角形の面をそれぞれ分割力の「トライフォース」に分割して、「2 周波数の八面体測地線球」を取得します。

ここに画像の説明を入力ここに画像の説明を入力*

オリジナルリンク

アルゴリズム: 隣接する各頂点の数学的平均をとって、新しい頂点を生成します。

これで角度が完全に分割されるわけではありませんが、かなり近くなります。立体角をさらに「等しく」したい場合は、「3 周波数八面体測地線球」の例のリンクを参照してください。

アルゴリズム: 最初の近似では、ベクトルを取得して角度を 3 等分できます(A+2B)/3。また、その逆も可能です。方程式を明示的に計算するのではなく、さらに極端な精度を求める場合は、正確さの尺度として四面体の立体角式を使用し、最初の推測に対して緩和を実行して、三等分をゆっくりと遠ざけたり遠ざけたりすることができます。起源。

さらに、Google の検索結果は数学的に少し密集していますが、等面積の球面多面体を使用していくつかの用途を収集できる場合があります。

于 2012-03-05T23:02:13.903 に答える