Three.js平面Plane
Three.js平面Plane表示三維空間中一個無限大的平面。
Plane
通過平面法線方向.normal
和平面到座標原點距離.constant
來定義一個平面對象Plane
// 創建一個平面對象Plane
var plane = new THREE.Plane();
// 設置平面法線方向
plane.normal = new THREE.Vector3(0, 1, 0);
// 座標原點到平面的距離,區分正負
plane.constant = 30;
執行平面對象方法.setFromCoplanarPoints(a,b,c)
通過三個頂點座標來設置一個平面對象Plane
,三個點按照逆時針順序來確定平面對象的法向量normal方向。
// 創建一個平面對象Plane
var plane = new THREE.Plane();
// 三個點座標
var p1 = new THREE.Vector3(20, 0, 0);
var p2 = new THREE.Vector3(0, 0, 10);
var p3 = new THREE.Vector3(0, 30, 0);
// 通過三個點定義一個平面
plane.setFromCoplanarPoints(p1,p2,p3);
console.log('plane.normal', plane.normal);
console.log('plane.constant', plane.constant);
通過平面對象的.distanceToPoint(point)
方法計算點到平面的垂線距離。
var point = new THREE.Vector3(20, 100, 330);
// 計算空間中一點到平面的垂直距離
var L = plane.distanceToPoint(point);
console.log('點到平面距離', L);