### 9.17.3 La longueur d’un segment et son affichage : `distanceat distanceen` et `distanceatraw distanceenbrut`

`distanceat` ou `distanceen` et `distanceatraw` ou `distanceenbrut` sont des commandes obtenues lorsqu’on utilse, dans un niveau de géométrie 2d ou 3d, le bouton `Mode->Mesures->ditanceen` ou `Mode->Mesures->distanceenbrut`. Dans ce cas il faut que tous les objets, sauf les points, désignés par la souris soient déjà nommés.
On peut néammoins taper ces commandes dans une ligne de commande.
`distanceat` ou `distanceen` a comme argument trois points (ou 2 points et 1 nombre complexe qui est l’affixe d’un point) ou encore 2 objets géométriques et un point (ou l’affixe de ce point).
Attention Il faut que les 2 premiers arguments aient un nom.
`distanceat` ou `distanceen` renvoie le point donné en 3-ième argument, calcule la longueur du segment défini par les deux premiers points ou la distance entre les 2 ojets géométriques et affiche à l’endroit du 3-ième point, cette longueur précédée d’une légende.
On tape :

`A:=point(-1);B:=point(1+i);segment(A,B);`
`distanceat(A,B,0.4i)`

ou

`distanceen(A,B,0.4i)`

On obtient :

`AB=sqrt(5) s’écrit au point(0.4i)`

On tape (on doit donner un nom aux objets):

`C:=point(0);d:=droite(-1,1+i)`
`distanceen(C,d,i/2)`

On obtient :

`Cd=sqrt(5)/5 s’écrit au point(i/2)`

On tape (on doit donner un nom aux objets):

`c:=cercle(0,1); d:=droite(-2,1+3i)`
`distanceen(c,d,0)`

On obtient :

`cd=sqrt(2)-1 s’écrit au point(0)`

`distanceatraw` ou `distanceenbrut` a comme argument trois points (ou 2 points et 1 nombre complexe qui est l’affixe d’un point) ou encore 2 objets géométriques et un point (ou l’affixe de ce point).
`distanceatraw` ou `distanceenbrut` renvoie le point donné en 3-ième argument, calcule la longueur du segment défini par les deux premiers points ou la distance entre les 2 ojets géométriques et affiche cette longueur à l’endroit du 3-ième point.
On tape :

`A:=point(-1);B:=point(1+i);segment(A,B);`
`distanceenbrut(A,B,0.4i)`

On obtient :

`sqrt(5) s’écrit au point(0.4i)`

On tape :

`C:=point(0);d:=droite(-1,1+i)`
`distanceenbrut(C,d,i/2)`

ou on tape (on n’est pas obligé de donner un nom aux objets) :

`distanceenbrut(0,droite(-1,1+i),i/2)`

On obtient :

`sqrt(5)/5 s’écrit au point(i/2)`

On tape :

`c:=cercle(0,1); d:=droite(-2,1+3i)`
`distanceenbrut(c,d(-2,1+3i),0)`

ou on tape (on n’est pas obligé de donner un nom aux objets) :

`distanceenbrut(cercle(0,1),droite(-2,1+3i),0)`

On obtient :

`sqrt(2)-1 s’écrit au point(0)`