三角形(Triangle)

优质
小牛编辑
129浏览
2023-12-01

一个三角形由三个表示其三个角的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