# intersection

## intersection axis

axis_line        axis_vol

### intersection axis(dx,dy) poi(x,y) line(x1,y1, x2,y2, ...)

Returns (xi1,yi1, xi2,yi2, ...) = intersections of axis origin (x,y,z) and direction (dx,dy) with the 2D (x1,y1, x2,y2, ...) and NIL if no intersection.
Options:
close: ferme la line.

### intersection axis(dx,dy,dz) poi(x,y,z) vol(id)

Returns (xi,yi,zi) = first intersection point of axis origin (x,y,z) and direction (dx,dy,dz) with volume id. and NIL if no intersection.
Options:
normal: returns (xi,yi,zi,nx,ny,nz) with (xi,yi,zi) = first intersection point and (nx,ny,nz) = normal to the facette intersected.

## intersection cut

### intersection cut(x,y,z,nx,ny,nz) vol(id)

Returns the intersections of volume id with the plane from (x,y,z) and normal to (nx,ny,nz).

## intersection line

### intersection line(x1,y1,x2,y2,...)

Returns (xi,yi,ki,...) coordinates (xi,yi) of the intersection points of the 2D polygonal line (x1,y1,x2,y2,...) with itself and the coefficients ki, otherwise returns NIL.
Options:
close: closes the line.

## intersection normal

### intersection normal poi(p)line(p1,p2)

if (p1==p2)
Returns p1
else
Returns the projection of point p on the line (p1,p2).

### intersection normal poi(p)line(p1,p2,p3)

if (p1==p2) or if the three points are aligned
Returns p1
else
Returns the projection of point p on the plane by (p1,p2,p3).

## intersection poi

### intersection poi(p1,p2)poi(p3,p4,p5)

Returns I,k,s with:
I = intersection line (p1,p2) with the plane (p3,p4,p5)
s=1if p1 and p1 br>         k=p1+k*(p2-p1)
Returns NIL if (p1p2) parallel (p3,p4,p5)

### intersection poi(a)normal(na)poi(b)normal(b)

Returns I,v = intersection planes (a,na) (b,nb) defined by a point and a normal vector.

## intersection segment

### intersection segment(x1,y1,x2,y2, x3,y3,x4,y4)

Returns the coordinates (x,y) of the intersection point of the two segments (x1,y1, x2,y2) and (x3,y3, x4,y4), returns NIL if they are parallel.

### intersection segment(x1,y1,z1, x2,y2,z2)vol(id)

Returns the coordinates (x,y,z) of intersection point between the 3D segment (x1,y1,z1, x2,y2,z2) with volume id, and NIL if no intersection.

## DEVELOPING

### intersection vol(id)line(L)

cuts facets volume id by 3D line L (more than 2 points).

### intersection vol(id)line(L) axis(dx,dy,dz)

cuts facets volume id by 3D line L (more than 2 points). projected on volume id in the direction (dx,dy,dz)

### intersection vol(id)line(L) axis(dx,dy,dz) normal

Intersects only facets whose angle (normal,(dx,dy,dz)) is lesser than PI/2.