PolyhedronGeometry


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

更新日: 2013-04-20 , r58

(わかりやすくするためにワイヤーフレームも一緒に表示し、右は分割の塗り分けも。)
左:任意の多面体、右:その分割1回

説明

THREE.PolyhedronGeometry ( vertices, faces, radius, detail )
vertices, facesで定義した任意の立体を与えると、球に内接するように調整された立体を作る。
あとはTetrahedronとかOctahedronと同じように分割させられる。
(参照:TetrahedronGeometry - ~hedronにおける分割とは

パラメータ

vertices <array of vertices>
頂点の配列。書き方は下例。
faces <array of faces>
面の配列。書き方は下例。
radius <float>[= 1]
半径。
detail <int>[= 0]
分割回数。

ジオメトリ作ってマテリアルと合わせてメッシュにしてシーンに追加するまで。
// 頂点
var vertices = [
  [ 4.10, 5.91, 1.26],  // 0点目のX座標, Y座標, Z座標
  [ 2.57, 3.15,-4.73],  // 1点目のX座標, Y座標, Z座標
  [-4.34, 6.78,-1.73],  // 2点目のX座標, Y座標, Z座標
  [-6.64, 7.33, 6.75],
  [ 5.55,-7.44, 3.57],
  [-5.42, 2.91,-6.98],
  [-3.02,-5.97,-5.32],
];

// 面
var faces = [
  [0,1,2],    // 「vertices[0]とvertices[1]とvertices[2]を結んだ面」という意味。以下同様。
  [0,2,3],[1,0,4],[0,3,4],[2,1,5],[3,2,5],[1,4,6],[3,5,6],[5,1,6],[4,3,6]
];

var poly = new THREE.Mesh(
  new THREE.PolyhedronGeometry( vertices, faces, 40, 0 ),
  new THREE.MeshLambertMaterial( { color: 0x00ff00 } )
);
scene.add( poly );