三角形([name])

一个三角形由三个表示其三个角的[page:Vector3 Vector3]所定义。

构造函数

[name]( [param:Vector3 a], [param:Vector3 b], [param:Vector3 c] )

[page:Vector3 a] - 三角形的第一个角,默认值是一个在(0, 0, 0)处的[page:Vector3]。
[page:Vector3 b] - 三角形的第二个角,默认值是一个在(0, 0, 0)处的[page:Vector3]。
[page:Vector3 c] - 三角形的第三个角(最后一个角),默认值是一个在(0, 0, 0)处的[page:Vector3]。

创建一个新的[name]。

属性

[property:Vector3 a]

三角形的第一个角,默认值是一个在(0, 0, 0)处的[page:Vector3]。

[property:Vector3 b]

三角形的第二个角,默认值是一个在(0, 0, 0)处的[page:Vector3]。

[property:Vector3 c]

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

方法

[method:Triangle clone]()

返回一个和该三角形具有相同[page:.a a]、[page:.b b]和[page:.c c]属性的新三角形。

[method:Vector3 closestPointToPoint]( [param:Vector3 point], [param:Vector3 target] )

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

返回三角形上最靠近所给定的[page:Vector3 point]的点。

[method:Boolean containsPoint]( [param:Vector3 point] )

[page:Vector3 point] - 将被检测的[page:Vector3]。

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

[method:this copy]( [param:Triangle triangle] )

将传入的三角形的[page:.a a]、[page:.b b]和[page:.c c]属性复制给这一三角形。

[method:Boolean equals]( [param:Triangle triangle] )

若这两个三角形具有相同的[page:.a a]、[page:.b b]和[page:.c c]属性,则返回true。

[method:Float getArea]()

返回三角形的面积。

[method:Vector3 getBarycoord]( [param:Vector3 point], [param:Vector3 target] )

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

从给定的向量中返回一个[link:https://en.wikipedia.org/wiki/Barycentric_coordinate_system barycentric coordinate](重心坐标)。

请参阅关于这一概念的相关图片:[link:http://commons.wikimedia.org/wiki/File:Barycentric_coordinates_1.png Picture of barycentric coordinates]。

[method:Vector3 getMidpoint]( [param:Vector3 target] )

[page:Vector3 target] — 结果将会被拷贝到这一Vector3中。

计算三角形的中点。

[method:Vector3 getNormal]( [param:Vector3 target] )

[page:Vector3 target] — 结果将会被拷贝到这一Vector3中。

计算三角形的法向量([link:https://en.wikipedia.org/wiki/Normal_(geometry) normal vector])。

[method:Plane getPlane]( [param:Plane target] )

[page:Plane target] — 结果将会被拷贝到这一Plane中。

基于三角形计算出一个平面([page:Plane plane])。

[method:Boolean intersectsBox]( [param:Box3 box] )

[page:Box3 box] - 将被用于检测是否与三角形有交集的box。

判定三角形与传入的[page:Box3 box]是否相交。

[method:this set]( [param:Vector3 a], [param:Vector3 b], [param:Vector3 c] ) [param:Triangle this]

将三角形的[page:.a a]、[page:.b b]和[page:.c c]属性设置为所传入的[page:Vector3 vector3]。
请注意,此方法仅复制给定对象的值。

[method:this setFromAttributeAndIndices]( [param:BufferAttribute attribute], [param:Integer i0], [param:Integer i1], [param:Integer i2] ) [param:Triangle this]

attribute - [page:BufferAttribute] of vertex data
i0 - [page:Integer] index
i1 - [page:Integer] index
i2 - [page:Integer] index

Sets the triangle's vertices from the buffer attribute vertex data.

[method:this setFromPointsAndIndices]( [param:Array points], [param:Integer i0], [param:Integer i1], [param:Integer i2] ) [param:Triangle this]

points - [page:Vector3]数组([page:Array])
i0 - 整数([page:Integer])索引
i1 - 整数([page:Integer])索引
i2 - 整数([page:Integer])索引

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

源代码

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]