ConvexGeometry


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

更新日: 2013-04-20 , r58

(わかりやすくするためにワイヤーフレームなども一緒に表示。)

説明

THREE.ConvexGeometry ( vertices )
凸包(3次元)を作る。頂点を与えると凹みのない立体を作ってくれる。埋没した頂点は削除される。
上例は10コ点を与えたもの。緑の点は埋まってしまったので削除された。

乱暴に点投げても適当につじつま合わせてくれるので便利そう。

パラメータ

vertices <array of vector3>
頂点ベクトルの配列。

ジオメトリ作ってマテリアルと合わせてメッシュにしてシーンに追加するまで。
// 頂点ベクトルの配列
var vertices = [
  new THREE.Vector3( 4.10, 5.91, 1.26),
  new THREE.Vector3( 2.57, 3.15,-4.73),
  new THREE.Vector3(-4.34, 6.78,-1.73),
  new THREE.Vector3(-6.64, 7.33, 6.75),
  new THREE.Vector3( 5.55,-7.44, 3.57),
  new THREE.Vector3(-5.42, 2.91,-6.98),
  new THREE.Vector3(-3.02,-5.97,-5.32),
  new THREE.Vector3( 0.00,-2.00,-2.00),
  new THREE.Vector3( 2.00, 0.00,-2.00),
  new THREE.Vector3(-2.00, 2.00, 0.00)
];

var convex = new THREE.Mesh(
  new THREE.ConvexGeometry( vertices ),  // 与えられた頂点から凹みのない立体を作成
  new THREE.MeshLambertMaterial( { color: 0xff0000, transparent:true, opacity:0.6 } )
);
scene.add( convex );