三维几何线段(Line3)

用起点和终点表示的几何线段。

构造函数(Constructor)

Line3(start : Vector3, end : Vector3)

start — 线段的起始点。默认值为 (0, 0, 0)。
end — 线段的终点。默认值为 (0, 0, 0)。

创建一个三维几何线段 Line3。

属性(Properties)

.start : Vector3

Vector3 表示线段的起点。

.end : Vector3

Vector3 表示线段的终点

方法(Methods)

.applyMatrix4(matrix : Matrix4) → Line3

对此线段应用矩阵变换。

.at(t : Float, target : Vector3) → Vector3

t — 使用值0-1返回沿线段的位置。
target — 计算结果会被拷贝到target。

返回一个线段某一位置的向量,当 t = 0的时候返回起始点,当t = 1的时候返回终点。

.clone() → Line3

返回一个与此线段拥有相同起始点 start 和 终点end 的线段。

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

point — 用于计算线段上到该点最近的点。
clampToLine — 是否将结果限制在线段起始点和终点之间。
target — 结果会拷贝到target。

返回线段上到point最近的点。如果参数 clampToLine 为true。返回值将会在线段之间。

.closestPointToPointParameter(point : Vector3, clampToLine : Boolean) → Float

point — 用于计算返回值的点
clampToLine — 结果是否处于 [0, 1]之间。

返回一个基于点投影到线段上的点的参数。如果 clampToLine 为true则返回值将在0到1之间。

.copy(line : Line3) → Line3

拷贝传入线段的起始点 start 和终点 end 向量到当前线段。

.delta(target : Vector3) → Vector3

target — 结果将会拷贝到target。

返回线段的向量。(终点end向量减去起始点start向量)。

.distance() → Float

Returns the Euclidean distance (straight-line distance) between the line's start and end points.

.distanceSq() → Float

返回起始点start和终点end的欧几里得距离Euclidean distance。(直线距离)

.equals(line : Line3) → Boolean

line - Line3 to compare with this one.

如果给定线段与当前线段的起始点start和终点end都相同则返回true。

.getCenter(target : Vector3) → Vector3

target — 结果会写入target。

返回线段的中心点。

.set(start : Vector3, end : Vector3) → Line3

start — 设置线段的起点 start point
end — 设置线段的终点 end point

将传入的向量设置到线段的起始点和终点。

源码(Source)

src/math/Line3.js