PolyhedronGeometry

更新日: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 );









タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2013年04月20日 23:54