三角形(Triangle)

一个三角形由三个表示其三个角的Vector3所定义。

构造函数

Triangle(a : Vector3, b : Vector3, c : Vector3)

a — 三角形的第一个角,默认值是一个在(0, 0, 0)处的Vector3
b — 三角形的第二个角,默认值是一个在(0, 0, 0)处的Vector3
c — 三角形的第三个角(最后一个角),默认值是一个在(0, 0, 0)处的Vector3

创建一个新的Triangle。

属性

.a : Vector3

三角形的第一个角,默认值是一个在(0, 0, 0)处的Vector3

.b : Vector3

三角形的第二个角,默认值是一个在(0, 0, 0)处的Vector3

.c : Vector3

三角形的第三个角(最后一个角),默认值是一个在(0, 0, 0)处的Vector3

方法

.clone() → Triangle

返回一个和该三角形具有相同abc属性的新三角形。

.closestPointToPoint(point : Vector3, target : Vector3) → Vector3

point - Vector3
target — 结果将被拷贝到这一Vector3中。

返回三角形上最靠近所给定的point的点。

.containsPoint(point : Vector3) → Boolean

point — 将被检测的Vector3

如果传入的点投影到三角形的平面内,则返回true。

.copy(triangle : Triangle) → Triangle

将传入的三角形的abc属性复制给这一三角形。

.equals(triangle : Triangle) → Boolean

若这两个三角形具有相同的abc属性,则返回true。

.getArea() → Float

返回三角形的面积。

.getBarycoord(point : Vector3, target : Vector3) → Vector3

point - Vector3
target — 结果将会被拷贝到这一Vector3中。

从给定的向量中返回一个barycentric coordinate(重心坐标)。

请参阅关于这一概念的相关图片:Picture of barycentric coordinates

.getMidpoint(target : Vector3) → Vector3

target — 结果将会被拷贝到这一Vector3中。

计算三角形的中点。

.getNormal(target : Vector3) → Vector3

target — 结果将会被拷贝到这一Vector3中。

计算三角形的法向量(normal vector)。

.getPlane(target : Plane) → Plane

target — 结果将会被拷贝到这一Plane中。

基于三角形计算出一个平面(plane)。

.intersectsBox(box : Box3) → Boolean

box — 将被用于检测是否与三角形有交集的box。

判定三角形与传入的box是否相交。

.set(a : Vector3, b : Vector3, c : Vector3) → Triangle this : Triangle

将三角形的abc属性设置为所传入的vector3
Please note that this method only copies the values from the given objects.

.setFromPointsAndIndices(points : Array, i0 : Integer, i1 : Integer, i2 : Integer) → Triangle this : Triangle

points - Vector3数组(Array
i0 - 整数(Integer)索引
i1 - 整数(Integer)索引
i2 - 整数(Integer)索引

设置三角形的向量为数组中的向量。

源代码

src/math/Triangle.js