Classes
Members
norm :Vector
Normal vector to a line
Vector is normalized (length == 1)
Direction of the vector is chosen to satisfy inequality norm * p >= 0
Vector is normalized (length == 1)
Direction of the vector is chosen to satisfy inequality norm * p >= 0
- Source:
Type:
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
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 lies 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 lies on the line and does not check it
This method assumes that point lies on the line and does not check it
- Source:
Parameters:
Name | Type | Description |
---|---|---|
pt |
Point
|
point on a line |
Returns:
- Type:
-
number
distanceTo(shape)
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:
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
intersect(shape) → {Array.<Point>}
Returns array of intersection points
- Source:
Parameters:
Name | Type | Description |
---|---|---|
shape |
Shape
|
shape to intersect with |
Returns:
- Type:
-
Array.<Point>
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
rotate(angle, center)
Return new line rotated by angle
- Source:
Parameters:
Name | Type | Description |
---|---|---|
angle |
number
|
angle in radians |
center |
Point
|
center of rotation |
sortPoints(pts) → {Array.<Point>}
Sort given array of points that lay on a 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 |
split(pt) → {MultilineShapes}
Split line with a point or array of points and return array of shapes
Assumed (but not checked) that all points lay on the line
- Source:
Parameters:
Name | Type | Description |
---|---|---|
pt |
Point
|
Array.<Point>
|
Returns:
- Type:
-
MultilineShapes
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 |