### 10.20.1 Les lieux : `locus lieu`

`lieu` permet de tracer le lieu d’un point qui dépend d’un autre point qui doit être défini avec la fonction `element` et `lieu` permet aussi de tracer l’enveloppe d’une droite qui dépend d’un point qui doit être défini avec la fonction `element` (voir aussi `enveloppe` pour l’enveloppe d’une famille de droites qui dépendent d’un paramètre 10.20.2).

- lieu d’un point.
  `lieu` a 2 à 4 arguments.
  Les deux premiers argument sont deux noms de variables :
  le premier argument est le nom du point dont on veut connaitre le lieu et ce point est fonction du deuxième argument,
  le deuxième argument est le nom du point qui se déplace sur une courbe `C` et qui doit être défini par `element(C)`.
  On peut préciser éventuellement en troisième argument l’intervalle où se trouve le paramètre `t` utilisé pour le paramétrage de `C` lorsque le deuxième argument décrit `C` et en quatrième argument préciser la valeur de `tstep`.
  Remarque
  Pour connaitre le paramétrage de la courbe `C` on utilise la commande `parameq(C)`.
  `lieu` dessine le lieu du premier argument quand le deuxième argument se déplace selon ce que l’on a spécifié comme argument de `element`.
  L’algorithme
  Si on cherche le lieu de N lorsque M se déplace sur une courbe C, l’algorithme cherche les niveaux qui se trouvent entre le niveau où se trouve la définition de M et celui où se trouve la définition de N et choisit un paramétrage rationnel de la courbe où M se déplace, puis effectue les calculs de ces niveaux intermédiaires, puis trace une courbe paramétrée `X(t)+i*Y(t)` qui dépend du t défini dans `cfg`, puis affiche l’équation du lieu par le calcul de `resultant(X(t)-x,Y(t)-y,t)`.
  Il ne faut donc pas avoir d’autres instructions `lieu` dans les instructions intermédiaires.
  Conseils
  Il faut avoir le moins possible d’instructions entre la définition de M et l’instruction `lieu`.
  On tape, pour avoir le lieu du centre de gravité G du triangle de sommets A point(-1), B point(1) et P lorsque P décrit la droite d’équation y=1 :
  `P:=element(droite(i,1+i))`
  `G:=isobarycentre(-1,1,P)`
  `lieu(G,P)`
  On obtient :
  `La droite parallèle à l’axe des x passant par i/3`
  Attention
  Il faut régler correctement le paramètre t, c’est à dire les valeurs `t-` et `t+` de la fenêtre de configuration graphique pour avoir le lieu entièrement!!! On tape, pour avoir le lieu du centre de gravité G du triangle de sommets A point(-1), B point(1) et P lorsque P décrit le segment [-3+i; 3+i]. Pour connaitre le paramétrage de la droite `d:=droite(i,1+i)` on utilise `parameq(d)` :
  `d:=droite(i,1+i):;parameq(d)`
  On obtient comme paramétrage :
  `t+i`
  `P:=element(d)`
  `G:=isobarycentre(-1,1,P)`
  `lieu(G,P,t=-3..3)`
  `plotparam(t+i,t=-3..3);triangle(-1,1,P)`
  On obtient comme lieu :
  `Le segment [-1+i/3; 1+i/3]`
  On peut préciser la valeur de `tstep` en quatrième argument, on tape :
  `lieu(G,P,t=-3..3,tstep=0.1)`
- enveloppe d’une droite fonction d’un point qui se déplace sur une courbe.
  `lieu` a comme arguments deux noms de variables : le premier argument est le nom de la droite dont on veut connaitre l’enveloppe et cette droite est fonction du deuxième argument. Le deuxième argument est le nom du point qui se déplace et qui doit être défini avec la fonction `element`.
  `lieu` dessine l’enveloppe du premier argument quand le deuxième argument se déplace selon ce que l’on a spécifié comme argument de `element`.
  On tape, pour avoir le l’enveloppe de la médiatrice de FH lorsque H décrit la droite d’équation x=0 :
  `F:=point(1)`
  `H:=element(droite(x=0))`
  `d:=mediatrice(F,H)`
  `lieu(d,H)`
  On obtient :
  `La parabole de foyer F et de directrice l’axe des y dont l’èquation est 2*x-y```^```2-1=0`
- enveloppe d’une droite donnée par une équation dépendant d’un paramètre (voir aussi la commande `enveloppe` 10.20.2),
  Dans ce cas, il faut dire que la paramètre est l’affixe d’un point de la droite y=0.
  Par exemple, enveloppe d’une famille de droites d’équation y+xtan(t)−2sin(t)=0 lorsque t∈ ℝ. (cf ??)
  On tape :
  `H:=element(droite(y=0));`
  `D:=droite(y+x*tan(affixe(M))-2*sin(affixe(M)))`
  `lieu(D,H)`
  On obtient :
  `L’astroide d’équation paramérique 2*cos(t)```^```3+2*i*sin(t)```^```3`
  Si on veut l’enveloppe lorsque t=0..π, on tape :
  `lieu(D,H,t=0..pi)`
  On obtient :
  `La partie au dessus de` `y=0` `de l’astroide d’équation paramérique 2*cos(t)```^```3+2*i*sin(t)```^```3`
  On peut aussi chercher l’intersection de `D` et de `E` (voir leur définition ci-dessous) pour avoir l’équation paramétrique du lieu.
  `D:=y+x*tan(t)-2*sin(t)`
  `E:=diff(D,t)`
  `M:=linsolve([D=0,E=0],[x,y])`
  `P:=plotparam(affixe(M))`
  On obtient :
  `L’astroide d’équation paramérique 2*cos(t)```^```3+2*i*sin(t)```^```3`
  en effet `simplify(M)` renvoie :
  `[2*cos(t)```^```3,2*sin(t)```^```3]`