0

ウィキペディアによると、原点の十二面体にはこの座標(x、y、z)の頂点があります。

   (±1, ±1, ±1)
   (0, ±1/φ, ±φ)
   (±1/φ, ±φ, 0)
   (±φ, 0, ±1/φ)

where φ is golden ratio (φ = (1 + √5) / 2 ≈ 1.618 )

この頂点をvertexBufferに入れるとしましょう-これはPoint3Dの配列になります。indexBuffer(intの配列)用に三角形のインデックスを準備する必要があります。十二面体には12の面があり、各面は五角形です。次のように3つの三角形から各面を作成します。

ここに画像の説明を入力してください

first triangle: a,e,b
second triangle: b,e,d
third triangle: d,c,b

多面体を簡単にするために、それを描画して頂点にマークを付け、インデックスを簡単に取得できますが、この場合は良い方法ではありません。この後、20面の二十面体が私を待っています:/
だから私の質問は:ありますか上記の要件に従ってこの頂点のインデックスを取得する簡単な方法はありますか?


注:
openGLまたはDirectXを使用できなかったことにも言及する必要があります。このライブラリなしで3Dグラフィックスを練習する必要があります。

4

1 に答える 1

0

最初の 8 つの頂点のセットは立方体を定義します。

残りの 3x4 ポイントは、立方体の 6 つの面のそれぞれの外側にある 6 つのペアになります。

6 つの点 (立方体面の 4 つの頂点と、原点から離れた対応する 2 つの点) の各セットは、6 回繰り返されるパターンを形成します。各セットから 6 つの三角形を取得できます。

20 面体は実際にはもっと単純です。三角形の数は 36 ではなく 20 だけです。同様のパターンがあり、ウィキペディアのページで確認できます。

于 2012-05-05T16:35:41.503 に答える