📄 threejs/Core/Math/Line3

File: Line3.md | Updated: 11/15/2025


title: Line3 category: Core layout: docs

Line3

An analytical line segment in 3D space represented by a start and end point.

Constructor

new Line3( start : Vector3, end : Vector3 )

Constructs a new line segment.

start | Start of the line segment. Default is (0,0,0).
---|---
end | End of the line segment. Default is (0,0,0).

Properties

.end : Vector3

End of the line segment.

.start : Vector3

Start of the line segment.

Methods

.applyMatrix4( matrix : Matrix4 ) : Line3

Applies a 4x4 transformation matrix to this line segment.

matrix | The transformation matrix.
---|---

Returns: A reference to this line segment.

.at( t : number, target : Vector3 ) : Vector3

Returns a vector at a certain position along the line segment.

t | A value between [0,1] to represent a position along the line segment.
---|---
target | The target vector that is used to store the method's result.

Returns: The delta vector.

.clone() : Line3

Returns a new line segment with copied values from this instance.

Returns: A clone of this instance.

.closestPointToPoint( point : Vector3, clampToLine : boolean, target : Vector3 ) : Vector3

Returns the closest point on the line for a given point.

point | The point to compute the closest point on the line for.
---|---
clampToLine | Whether to clamp the result to the range [0,1] or not.
target | The target vector that is used to store the method's result.

Returns: The closest point on the line.

.closestPointToPointParameter( point : Vector3, clampToLine : boolean ) : number

Returns a point parameter based on the closest point as projected on the line segment.

point | The point for which to return a point parameter.
---|---
clampToLine | Whether to clamp the result to the range [0,1] or not.

Returns: The point parameter.

.copy( line : Line3 ) : Line3

Copies the values of the given line segment to this instance.

line | The line segment to copy.
---|---

Returns: A reference to this line segment.

.delta( target : Vector3 ) : Vector3

Returns the delta vector of the line segment's start and end point.

target | The target vector that is used to store the method's result.
---|---

Returns: The delta vector.

.distance() : number

Returns the Euclidean distance between the line' start and end point.

Returns: The Euclidean distance.

.distanceSq() : number

Returns the squared Euclidean distance between the line' start and end point.

Returns: The squared Euclidean distance.

.distanceSqToLine3( line : Line3, c1 : Vector3, c2 : Vector3 ) : number

Returns the closest squared distance between this line segment and the given one.

line | The line segment to compute the closest squared distance to.
---|---
c1 | The closest point on this line segment.
c2 | The closest point on the given line segment.

Returns: The squared distance between this line segment and the given one.

.equals( line : Line3 ) : boolean

Returns true if this line segment is equal with the given one.

line | The line segment to test for equality.
---|---

Returns: Whether this line segment is equal with the given one.

.getCenter( target : Vector3 ) : Vector3

Returns the center of the line segment.

target | The target vector that is used to store the method's result.
---|---

Returns: The center point.

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

Sets the start and end values by copying the given vectors.

start | The start point.
---|---
end | The end point.

Returns: A reference to this line segment.

Source

src/math/Line3.js