Line3 - Verge3D 用户手册 - Soft8Soft
Description: 了解如何在使用 Verge3D 制作的交互式 3D 应用程序中使用 Line3

# 三维几何线段（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