### 10.14.8 La projection orthogonale : `projection`

Voir aussi : 9.18.8 pour la géométrie plane.
`projection`, en géométrie 3-d, a un ou deux arguments : un objet géométrique et éventuellement un point.
Lorsque `projection` a un argument, c’est une fonction qui agit sur un point et qui projette ce point sur l’objet géométrique.
On tape :

`p1:=projection(droite(point(0,0,0),point(1,1,1)))`

Puis :

`p1(point(1,0,0))`

On obtient :

`Le point (1/3,1/3,1/3) est tracé`

On tape :

`p2:=projection(plan(point(1,0,0),point(0,0,0), point(1,1,1)))`
`p2(point(0,0,1))`

On obtient :

`Le point (0,1/2,1/2) est tracé`

On tape :

`p3:=projection(sqhere(point(1,0,0),1))`
`p3(point(0,0,1))`

On obtient :

`Le point (1-sqrt(2)/2,0,sqrt(2)/2) est tracé`

Lorsque `projection` a deux arguments, `projection` dessine et renvoie le transformé du point par la projection orthogonale sur le premier argument.
On tape :

`projection(droite(point(0,0,0),point(1,1,1)),point(1,0,0))`

On obtient :

`Le point (1/3,1/3,1/3)`

On tape :

`projection(plan(point(1,0,0),point(0,0,0), point(1,1,1)),point(0,0,1))`

On obtient :

`Le point (0,1/2,1/2) est tracé`

On tape :

`projection(sqhere(point(1,0,0),1),point(0,O,1))`

On obtient :

`Le point (1-sqrt(2)/2,0,sqrt(2)/2) est tracé`