The origin point, {x, y}
The destination point, {x, y}
The origin y-coordinate
The origin x-coordinate
The horizontal distance of the ray, x1 - x0
The vertical distance of the ray, y1 - y0
The slope of the ray, dy over dx
Private
_angleThe cached angle, computed lazily in Ray#angle
Private
_distanceThe cached distance, computed lazily in Ray#distance
The normalized angle of the ray in radians on the range (-PI, PI). The angle is computed lazily (only if required) and cached.
A normalized bounding rectangle that encompasses the Ray
The distance (length) of the Ray in pixels. The distance is computed lazily (only if required) and cached.
Create a new ray which uses the same origin point, but a slightly offset angle and distance
An offset in radians which modifies the angle of the original Ray
Optional
distance: numberA distance the new ray should project, otherwise uses the same distance.
A new Ray with an offset angle
Find the point I[x,y] and distance t* on ray R(t) which intersects another ray
foundry.utils.lineLineIntersection
Static
fromA factory method to construct a Ray from an origin point, an angle, and a distance
The origin x-coordinate
The origin y-coordinate
The ray angle in radians
The distance of the ray in pixels
The constructed Ray instance
Static
fromStatic
towardsStatic
towards
A ray for the purposes of computing sight and collision Given points A[x,y] and B[x,y]
Slope-Intercept form: y = a + bx y = A.y + ((B.y - A.Y) / (B.x - A.x))x
Parametric form: R(t) = (1-t)A + tB
Param: A
The origin of the Ray
Param: B
The destination of the Ray