Three.jsを使って、作ってみた

プログラミング関連の事を色々書いています(^^) 週末はレストランやコンビニのお菓子のことを書いています。

Three.js  IcosahedronGeometry(正20面体)

今回は、Three.jsのジオメトリ (形状)のひとつである、「IcosahedronGeometry(正20面体)」について書きます。


IcosahedronGeometry(正20面体)は、こんな形です。(分かりやすくするために、ワイヤーフレームも一緒に表示しています
f:id:gupuru:20131206202705p:plain


IcosahedronGeometryのコンストラクタです。

THREE.IcosahedronGeometry ( radius , detail )
  • radius・・・半径
  • detail ・・・分割回数,分割数が大きいほど、球に近づいていきます。

実際のコードがこちらです。

//IcosahedronGeometryの宣言と生成
//半径は100,マテリアルはMeshPhongMaterial,色は0xFFFF00
 var IcosahedronGeometry = new THREE.Mesh(                                            
                 new THREE.IcosahedronGeometry( 100 ),                   
                 new THREE.MeshPhongMaterial({                                       
                       color: 0xFFFF00,                          
                       }));

//シーンオブジェクトに追加   
scene.add(IcosahedronGeometry);       

上のコードを実行すると、コレができます。
f:id:gupuru:20131206203523p:plain

それでは、

  new THREE.IcosahedronGeometry( 100 )

の部分を、

  new THREE.IcosahedronGeometry( 100,1 )

こう変えます。
分割数:1,半径:100に変えました。
実行するとこんな感じになります。(分かりやすくするために、ワイヤーフレームも一緒に表示しています
f:id:gupuru:20131206203710p:plain

球に近づいていますね(笑)


これで終わりです。
ご不明な点などがありましたら、遠慮なくご質問ください。
ありがとうございました!