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

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

Three.js LatheGeometry

今回は、Three.jsの「LatheGeometry」について、書きます。

LatheGeometryは、Three.jsのジオメトリ (形状)の一つです。
こちらは、Z軸を中心とした回転体を作るジオメトリです。
例えば、こんな形が作れます。
f:id:gupuru:20140106214822p:plain
ワイヤーフレームで表示したもの。
f:id:gupuru:20140106214825p:plain


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

THREE.LatheGeometry ( points , segments, phiStart, phiLength );
  • points・・・回転体にしたい図形の頂点の配列。
  • segments ・・・分割数。増やすと滑らかな回転体に近づく。
  • phiStart ・・・開始角度。単位はラジアン。+X方向が0度、+Y方向が90度。
  • phiStart ・・・中心角。単位はラジアン


実際のコードを書きます。

//頂点の配列
var points = [
  new THREE.Vector3(30,0,-40),
  new THREE.Vector3(60,0,-5),
  new THREE.Vector3(58,0,0),
  new THREE.Vector3(60,0,5),
  new THREE.Vector3(30,0,40)
];

var Lathe = new THREE.Mesh(                                        
     new THREE.LatheGeometry(points, 16),                     
     new THREE.MeshPhongMaterial({                                      
               color: 0x00FF7,
               side: THREE.DoubleSide,
               wireframe: false
      }));

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

実行すると、こんな感じです。
f:id:gupuru:20140106214822p:plain


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