 
introduces a ray r
with source $$p and passing through point $$q.
 
 
introduces a ray r starting at source $$p with
direction $$d.
 
 
introduces a ray r starting at source $$p with
the direction of $$v.
 
 
introduces a ray r starting at source $$p with
the same direction as $$l.


 
Test for equality: two rays are equal, iff they have the same source and the same direction.  

 
Test for inequality.  

 returns the source of r. 


returns a point on r. point(0) is the source,
point(i), with $$i>0, is different from the
source. Precondition: $$i 0. 
 
 returns the direction of r.  

 returns a vector giving the direction of r. 

 
returns the line supporting r which has the same direction.  

 returns the ray with the same source and the opposite direction. 

 ray r is degenerate, if the source and the second defining point fall together (that is if the direction is degenerate). 







 
A point is on r, iff it is equal to the source of r, or if it is in the interior of r.  

 
checks if point $$p is on r. This function is faster
than function has_on() if the precondition
checking is disabled. Precondition: $$p is on the supporting line of r. 

 
returns the ray obtained by applying $$t on the source and on the direction of r. 