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);