Three.js三角形Triangle
Three.js引擎定義了一個三角形類Triangle,該類封裝了一系列和三角形幾何計算相關的方法或屬性。
// 創建一個三角形對象
var Triangle = new THREE.Triangle()
// 三角形頂點1
Triangle.a = new THREE.Vector3(20, 0, 0);
// 三角形頂點2
Triangle.b = new THREE.Vector3(0, 0, 10);
// 三角形頂點3
Triangle.c = new THREE.Vector3(0, 30, 0);
通過三角形對象Triangle
的.getArea()
方法可以計算一個三角形區域的面積,如果你想計算一個網格模型的表面,就可以遍歷網格模型對應幾何體所有的三角形區域計算面積然後累加。
// .getArea()方法返回三角形面積
var S = Triangle.getArea();
console.log('三角形面積', S);
通過三角形對象Triangle
的.getMidpoint()
方法計算三角形重心,封裝的算法就是三個頂點座標的算術平均值。
var Midpoint = new THREE.Vector3();
// 計算三角形重心,結果保存在參數Midpoint
Triangle.getMidpoint(Midpoint);
console.log('三角形重心', Midpoint);
通過三角形對象Triangle
的.getNormal()
方法計算三角形法線方向,封裝的算法簡單說就是兩條邊構成的向量叉乘後獲得垂直三角形面的向量。
var normal = new THREE.Vector3();
// 計算三角形法線方向,結果保存在參數normal
Triangle.getNormal(normal);
console.log('三角形法線', normal);