Line

Line

Class representing a line

Constructor

new Line(pt, norm)

Line may be constructed by point and normal vector or by two points that a line passes through
Source:
Parameters:
Name Type Description
pt Point point that a line passes through
norm Vector | Point normal vector to a line or second point a line passes through

Classes

Line

Members

pt :Point

Point a line passes through
Source:
Type:

norm :Vector

Normal vector to a line
Vector is normalized (length == 1)
Direction of the vector is chosen to satisfy inequality norm * p >= 0
Source:
Type:

end

Line has no end point
Source:

length

Return positive infinity number as length
Source:

box

Returns infinite box
Source:

middle

Middle point is undefined
Source:

slope

Slope of the line - angle in radians between line and axe x from 0 to 2PI
Source:

standard

Get coefficients [A,B,C] of a standard line equation in the form Ax + By = C
Source:

Methods

clone() → {Line}

Return new cloned instance of line
Source:
Returns:
Type:
Line

parallelTo(other_line) → {boolean}

Return true if parallel or incident to other line
Source:
Parameters:
Name Type Description
other_line Line line to check
Returns:
Type:
boolean

incidentTo(other_line) → {boolean}

Returns true if incident to other line
Source:
Parameters:
Name Type Description
other_line Line line to check
Returns:
Type:
boolean

contains(pt) → {boolean}

Returns true if point belongs to line
Source:
Parameters:
Name Type Description
pt Point Query point
Returns:
Type:
boolean

coord(pt) → {number}

Return coordinate of the point that lays on the line in the transformed coordinate system where center is the projection of the point(0,0) to the line and axe y is collinear to the normal vector.
This method assumes that point lays on the line and does not check it
Source:
Parameters:
Name Type Description
pt Point point on line
Returns:
Type:
number

intersect(shape) → {Array.<Point>}

Returns array of intersection points
Source:
Parameters:
Name Type Description
shape Shape shape to intersect with
Returns:
Type:
Array.<Point>

distanceTo(shape) → {Number|Segment}

Calculate distance and shortest segment from line to shape and returns array [distance, shortest_segment]
Source:
Parameters:
Name Type Description
shape Shape Shape of the one of the types Point, Circle, Segment, Arc, Polygon
Returns:

split(pt) → {Array.<Shape>}

Split line with array of points and return array of shapes Assumed that all points lay on the line
Source:
Parameters:
Name Type Description
pt Array.<Point>
Returns:
Type:
Array.<Shape>

sortPoints(pts) → {Array.<Point>}

Sort given array of points that lay on line with respect to coordinate on a line The method assumes that points lay on the line and does not check this
Source:
Parameters:
Name Type Description
pts Array.<Point> array of points
Returns:
Type:
Array.<Point>
new array sorted

toJSON() → {Object}

This method returns an object that defines how data will be serialized when called JSON.stringify() method
Source:
Returns:
Type:
Object

svg(box, attrs)

Return string to draw svg segment representing line inside given box
Source:
Parameters:
Name Type Description
box Box Box representing drawing area
attrs Object an object with attributes of svg circle element