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
Ray has no end point?
Return positive infinity number as length
Shape name
name of the shape
Slope of the ray - angle in radians between ray and axe x from 0 to 2PI
slope of the line
Returns true if point belongs to ray
Query point
Class representing a ray (a half-infinite line).