Clip a ray with a box.
EDGE = clipRay(RAY, BOX);
RAY is a straight ray given as a 4 element row vector: [x0 y0 dx dy],
with (x0 y0) being the origin of the ray and (dx dy) its direction
vector, BOX is the clipping box, given by its extreme coordinates:
[xmin xmax ymin ymax].
The result is given as an edge, defined by the coordinates of its 2
extreme points: [x1 y1 x2 y2].
If the ray does not intersect the box, [NaN NaN NaN NaN] is returned.
Function works also if RAY is a N-by-4 array, if BOX is a Nx4 array, or
if both RAY and BOX are N-by-4 arrays. In these cases, EDGE is a N-by-4
array.
See also:
rays2d, boxes2d, edges2d, clipLine, drawRay
Package: matgeom