Ray

Ray

Class representing a ray (a half-infinite line).

Constructor

new Ray(pt, norm)

Ray may be constructed by setting an origin point and a normal vector, so that any point x on a ray fit an equation:
(x - origin) * vector = 0
Ray defined by constructor is a right semi-infinite line with respect to the normal vector
If normal vector is omitted ray is considered horizontal (normal vector is (0,1)).
Don't be confused: direction of the normal vector is orthogonal to the ray
Source:
Parameters:
Name Type Description
pt Point start point
norm Vector normal vector

Classes

Ray

Members

box

Returns half-infinite bounding box of the ray
Source:

end

Ray has no end point?
Source:

length

Return positive infinity number as length
Source:

slope

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

start

Return ray start point
Source:

Methods

clone() → {Ray}

Return new cloned instance of ray
Source:
Returns:
Type:
Ray

contains(pt) → {boolean}

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

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

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

rotate(angle, center)

Return new line rotated by angle
Source:
Parameters:
Name Type Description
angle number angle in radians
center Point center of rotation

split(pt)

Split ray with point and return array of segment and new ray
Source:
Parameters:
Name Type Description
pt Point
Returns:
[Segment,Ray]

svg(box, attrs)

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

transform(m) → {Ray}

Return new ray transformed by affine transformation matrix
Source:
Parameters:
Name Type Description
m Matrix affine transformation matrix (a,b,c,d,tx,ty)
Returns:
Type:
Ray