Previous Up Next
Retour à la page personnelle de Bernard Parisse.

Chapitre 16  Les courbes de degré au plus 2.

Ce sont les courbes qui ont comme équation, dans un repère Oxy, P(x,y)=0 où P est un polynôme de degré inférieur ou égal à 2.

16.1  La droite

L’équation cartésienne d’une droite non parallèle à l’axe Oy est y=a*x+b.
Avec Xcas
Si on veut voir l’influence de a et b on tape dans un écran de géométrie :

a:=element(-4..5);
b:=element(-4..2);
droite(y=a*x+b);

L’équation cartésienne d’une droite quelconque est m*x+n*y+p=0 : son vecteur normal est m+i*n et elle passe par le point −i*p/n si n≠ 0 ou par le point −p/m si m≠ 0 (on suppose m*n ≠ 0).
L’équation paramétrique d’une droite passant par le point A=x0+i*y0 et parallèle au vecteur V=u+i*v est x(t)=x0+u*t, y(t)=y0+v*t (on suppose u*v ≠ 0).
Avec Xcas
si on veut voir l’influence de A, u et v on tape dans un écran de géométrie :

A:=point(0,1);
u:=element(-4..5);
v:=element(-4..2);
plotparam(re(A)+u*t+i*(im(A)+v*t),t);
plotparam(evalc(A+(u+i*v)*t),t)
//plotparam(A+(a+i*b)*t,t);

L’équation paramétrique d’une droite passant par le point A=x0+i*y0 et le point B=x1+i*y1 est x(t)=x0+t*x1/1+t, y(t)=y0+t*y1/1+t (si t ≠ −1).
Avec Xcas
Si on veut voir l’influence de A et B on tape dans un écran de géométrie :

A:=point(1,0);
B:=point(0,1);
plotparam(affixe(A+B*t)/(1+t),t);
m:=element(-4..5);
M:=point((A+B*m)/(1+m));

16.2  Le cercle

L’équation cartésienne d’un cercle centré à l’origine et de rayon |a| est :
x2+y2=a2.
Avec Xcas
Si on veut voir l’influence de a on tape dans un écran de géométrie :

a:=element(0..5);
plotfunc(sqrt(a^2-x^2),x);
plotfunc(-sqrt(a^2-x^2),x);

L’équation cartésienne d’un cercle centré en A=x0+i*y0 et de rayon |a| est (xx0)2+(yy0)2=a2.
L’équation paramétrique d’un cercle centré en A=x0+i*y0 et de rayon |a| est x(t)=x0+|a|*cos(t), y(t)=y0+|a|*sin(t).
Avec Xcas
Si on veut voir l’influence de A et de a on tape dans un écran de géométrie :

A:=point(0,1);
a:=element(0..5);
plotparam(affixe(A)+a*cos(t)+i*a*sin(t),t)

Pour avoir un demi-cercle pour t allant de −π/2 à π/2, on tape dans un écran de géométrie :

A:=point(0,1);
a:=element(0..5);
plotparam(affixe(A)+a*cos(t)+i*a*sin(t),t=-pi/2..pi/2)

L’équation polaire d’un cercle centré à l’origine est r=|a|.
Avec Xcas
Si on veut voir l’influence de a on tape dans un écran de géométrie :

A:=point(0,1);
a:=element(0..5);
plotpolar(a,t);

Le cercle centré en A=x0+i*y0 est le translaté du précédent dans la translation de vecteur l’affixe du point A.
Si on veut voir l’influence de A et de a on tape dans un écran de géométrie :

A:=point(0,1);
a:=element(0..5);
translation(affixe(A),plotpolar(a,t))

L’équation polaire d’un cercle passant par l’origine et de diamètre OA=d avec (Ox,OA)=t0 r=d*cos(tt0).
Avec Xcas
Si on veut voir l’influence de a on tape dans un écran de géométrie :

A:=point(0,1);
a:=affixe(A);
plotpolar(abs(a)*cos(t-arg(a)),t);

Le cercle centré en B=x0+i*y0 est le translaté du précédent dans la translation de vecteur l’affixe du point B.
Avec Xcas
Si on veut voir l’influence de A et de B on tape dans un écran de géométrie :

A:=point(1,0);
B:=point(0,1);
ba:=affixe(A-B);
translation(affixe(B),plotpolar(abs(ba)*cos(t-arg(ba)),t));

16.3  L’ellipse

L’équation cartésienne d’une ellipse centrée en A=x0+i*y0 et de demi-axes parallèles aux axes et de longueur |a| et |b| est :
(xx0)2/a2+(yy0)2/b2=1
on a a2=b2+c2 et AF=AF′=|c| si F et F′ sont les foyers.

L’équation paramétrique d’une ellipse centrée en A=x0+i*y0, de demi-axes parallèles aux axes et de longueur a>0 et b>0 est :
x(t)=x0+a*cos(t), y(t)=y0+b*sin(t).
Avec Xcas
Si on veut voir l’influence de A et de a on tape dans un écran de géométrie :

A:=point(0,1);
a:=element(0..5);
plotparam(affixe(A+a*cos(t)+i*b*sin(t)),t)

Remarque
On peut aussi utiliser les commandes :
ellipse, conique et conique_reduite.

16.4  L’hyperbole

L’équation cartésienne d’une hyperbole centrée en A=x0+i*y0, de demi-axes parallèles aux axes et et de longueur |a| et |b| est :
(xx0)2/a2−(yy0)2/b2=1 (on a a2=b2+c2 et AF=AF′=|c| si F et F′ sont les foyers).

L’équation paramétrique d’une hyperbole centrée en A=x0+i*y0, de demi-axes parallèles aux axes et de longueur a>0 et b>0 est:
x(t)=x0+a*cosh(t), y(t)=y0+a*sinh(t).
Avec Xcas
Si on veut voir l’influence de A et de a on tape dans un écran de géométrie :

A:=point(0,1);
a:=element(0..5);
plotparam(affixe(A+a*cosh(t)+i*b*sinh(t)),t)

Remarque
On peut aussi utiliser les commandes :
hyperbole, conique et conique_reduite.

16.5  La parabole

L’équation cartésienne d’une parabole de sommet A=x0+i*y0 et de directrice d d’équation x=a=x0p/2 (où p/2 est la distance de A à d) a pour équation :
(yy0)2=4x(x0a)−x0(x0a)=4(xx0)(x0a)=2*p*(xx0) Par exemple, si p=3, x0=1 et y0=2, son sommet est A:=point(1,2), son foyer F est défini par F:=point(1+3/2,2) et son équation est :
(y−2)2=6*(x−1) L’équation paramétrique de cette parabole est :
x0+t2/(2*p)+i(t+y0) Avec Xcas
Si on veut voir l’influence de A et de p, on tape dans un écran de géométrie :

A:=point(0,1);
p:=element(-5..5);
plotparam(affixe(A)+t^2/(2*p)+i*t,t)

Remarque
On peut aussi utiliser les commandes :
parabole, conique et conique_reduite.

16.6  Propriétés caractéristiques de la parabole

16.6.1  Définitions

En géométrie plane la définition est : On appelle parabole le lieu géométrique du centre M d’un cercle tangent à une droite d et passant par un point F.
d est la directrice de la parabole
F est le foyer de la parabole
la distance de F à d est le paramètre p de la parabole.

16.6.2  Propriétés de la parabole

Une condition nécessaire et suffisante pour que M appartienne à la parabole de foyer F et de directrice d est que M est équidistant de F et de d.
En tout point la parabole admet une tangente.
Soit K est la projection de m sur d. La tangente en M est la médiatrice du segment FKK est la projection de m sur d et c’est aussi la bissectrice de l’angle FMK.

16.6.3  Propriétés caractéristiques de la parabole

Soit (P) une parabole de foyer F et de directrice d.
On suppose que des rayons lumineux perpendiculaires à d arrivent sur P du même côté que F. Alors tous les rayons réfléchis par la parabole perpendiculairement à d passent par le foyer F.

En effet la tangente t en M est la bissectrice de l’angle FMK.
Question Quelles sont les courbes qui ont cette propriété ?
On cherche donc les courbes telles que : les rayons lumineux qui se réfléchissent sur sa surface passent par tous par un même point F.
Si t est la tangente en M, On considère le point K situé dans le prolongement du rayon incident et tel que KM=MF.
Soit I est le milieu de KM. On va montrer que K se déplace sur une droite fixe d. Pour cela on prend F comme origine d’un repère avec Fx parrallle au rayon incident.
On a donc la figure :

Soient (x,y) les coordonnées de M et a=KMI=IMF. On suppose y>0 i.e y′>0 car le problème est symétrique par rapport à Fx.
On a donc : y′=tan(a) (c’est la pente de la tangente t)
tan(2*a)=y/x=2tan(a)/1−tan(a)22y′/1−y2 donc

yy2+2yxy=0

ou puisque l’on a supposé y′>0

y′=
x+
x2+y2
y

ou

yy′=−x+
x2+y2

On obtient une équation différentielle à résoudre.
Résolution de yy′=−x+√x2+y2 par changement de variable

On a :
yy′+x=√x2+y2 Le premier membre est la dérivée de (y2+x2)/2, on pose donc :
z=(y2+x2)/2 et l’équation différentielle devient :
z′=√2z ou z′/√2z=1donc
2z=x+pp=Cste
donc x2+y2=(x+p)2
On trouve l’équation de la parabole de foyer l’origine F et de directrice d d’équation x=−p.
Résolution de yy′=−x+√x2+y2 géométriquement

On a :
KM=MFi=√x2+y2i
donc OK=OM+MK a pour coordonnées : xK=x−√x2+y2 et yK=y Montrons que lorsque M se déplase sur le courbe, xK reste constant. xK est une fonction de x dérivable de dérivee :
xK=1−x+y*y′/√x2+y2=√x2+y2xy*y′/√x2+y2
On remplace yy′ par sa valeur et on obtient :
xK=√x2+y2x−(−x+√x2+y2)/√x2+y2=0
Donc xK=−p et M est sur une parabole de foyer F et de directrice d d’équation x=−p.

16.7  Équation tangentielle des coniques, foyers, directrices

Exercice :
Déterminer les foyers de la conique d’équation dans le reère Oxy :

−2x2−2*x*y−2*y2−2*x+2*y+3=0

16.7.1  On utilise conique_reduite

On tape :

conique_reduite(-2*x^2-2*x*y-2*y^2-2*x+2*y+3,[x,y])

On obtient :

[[-1,1],[[(-(sqrt(2)))/2,-((sqrt(2))/2)], [(sqrt(2))/2,(-(sqrt(2)))/2]], 1,-x^2-3*y^2+5, [[-1+i+((-(sqrt(2)))/2+((i)*sqrt(2))/2)*(sqrt(5)*cos(t)+
((i)*sqrt(15)*sin(t))/3),t,0,2*pi,(2*pi)/60]]]

Dans le nouveau repère l’équation de l’ellipse est :
X2/5+Y2/5/3=1 On a donc a2=5, b2=5/3 et c2=a2b2=10/3 On tape : c:=sqrt(5-5/3)
On obtient (sqrt(30))/3
L’origine du nouveau repère est O1=point(-1+i) et la matrice de passage est :
P=[[−√2/2,−√2/2],[√2/2,−√2/2]]
On tape pour définir la matrice de passage :
P:=[[-sqrt(2)/2,-sqrt(2)/2],[sqrt(2)/2,-sqrt(2)/2]]
On tape pour définir les foyers :
F1:=point(P*[c,0]+[-1,1])
F2:=point(P*[-c,0]+[-1,1])
On tape :
coordonnees(F1)
On obtient :
[(-2*sqrt(15))/6-1,(sqrt(15)*2)/6+1]
On tape :
coordonnees(F2)
On obtient :
[(2*sqrt(15))/6-1,-((sqrt(15)*2)/6)+1]
La directrice D1 a pour équation dans le nouveau repère X=a2/c=√30/2
Pour avoir dans le repère Oxy, l’équation de D1, on tape :
A:=normal(P*[sqrt(30)/2,0]+[-1,1])
On obtient :
[(-4*sqrt(15)-8)/8,(4*sqrt(15)+8)/8]
On tape :
B:=normal(P*[sqrt(30)/2,sqrt(2)]+[-1,1])
On obtient : [(-4*sqrt(15)-16)/8,(4*sqrt(15))/8]
On tape :
D1:=droite(point(A),point(B))
equation(D1)
On obtient : y=(x+sqrt(15)+2)
La directrice D2 a pour équation dans le nouveau repère X=a2/c=−√30/2
Pour avoir dans le repère Oxy, l’équation de D2, on tape :
C:=normal(P*[-sqrt(30)/2,0]+[-1,1])
On obtient : [(sqrt(15)-2)/2,(-(sqrt(15))+2)/2]
On tape :
D:=normal(P*[-sqrt(30)/2,sqrt(2)]+[-1,1])
On obtient : [(sqrt(15)-4)/2,(-(sqrt(15)))/2]
On tape :
D2:=droite(point(C),point(D))
equation(D2)
On obtient :
y=(x-(sqrt(15))+2)
On tape :
conique(-2*x^2-2*x*y-2*y^2-2*x+2*y+3,[x,y]);
F1:=F1;F2:=F2;D1:=D1;D2:=D2;O:=point(-1+i);
M:=point(i*-1/2*(-1+sqrt(7)));

On obtient :

On peut vérifier que :
MF1+MF2=2*√(5) et que
MF1/MH1=e=c/a=√(6)/3 avec H1 la projection de M sur D1.
On tape :
simplify(longueur2(M,F1)),simplify(longueur2(M,F2))
On obtient :
(2*sqrt(15)*sqrt(7)+6*sqrt(15)+3*sqrt(7)+38)/6,
(-2*sqrt(15)*sqrt(7)-6*sqrt(15)+3*sqrt(7)+38)/6
On pose :
a:=3*sqrt(7)+38
b:=2*sqrt(15)*sqrt(7)+6*sqrt(15)
Car on a sqrt(6)*longueur(M,F1)=sqrt(a+b) et
sqrt(6)*longueur(M,F2)=sqrt(a-b).
On tape :
simplify(sqrt(a+b)+sqrt(a-b))
On obtient :
2*sqrt(30)
Soit : MF1+MF2=2√30/√6=2√5
On tape :
H1:=projection(D1,M)
normal(longueur2(M,F1)/longueur2(M,H1))
On obtient :
2/3
Donc MF1/MH1=√6/3

16.7.2  On utilise l’équation tangentielle

On rappelle l’énoncé :
Déterminer les foyers de la conique d’équation dans le reère Oxy :

−2x2−2*x*y−2*y2−2*x+2*y+3=0

On pose :
f(x,y)=−2x2−2*x*y−2*y2−2*x+2*y+3 et
g(x,y,t)=t2f(x/t,y/t)
On tape pour définir la fonction f :
f(x,y):=-2*x^2-2*x*y+-2*y^2-2*x+2*y+3
On obtient :
(x,y)->-2*x^2-2*x*y-2*y^2-2*x+2*y+3
On tape pour définir la fonction g :
g:=unapply(normal(t^2*f(x/t,y/t)),[x,y,t])
On obtient :
(x,y,t)->3*t^2-2*t*x+2*t*y-2*x^2-2*x*y-2*y^2
L’équation tangentielle est la condition nécessaire et suffisante sur u,v,w pour qu’une droite d’équation ux+vy+w=0 soit tangente à cette conique.
En coordonnées homogènes l’équation de la tangente à la courbe g(x,y,t)=0 au point x0,y0,t0 est :
xgx′(x0,y0,t0)+ygy′(x0,y0,t0)+tgt′(x0,y0,t0)=0
On tape :
g1:=normal(diff(g(x,y,t),x)/2)
On obtient :
-t-2*x-y
On tape :
g2:=normal(diff(g(x,y,t),y)/2)
On obtient :
t-x-2*y
On tape :
g3:=normal(diff(g(x,y,t),t)/2)
On obtient :
3*t-x+y
Donc xg1+yg2+tg3=0 est tangente à la courbe g(x,y,t)=0.
On cherche la condition nécessaire et suffisante sur u,v,w pour que la droite d’équation ux+vy+w=0 soit tangente à cette conique.
On cherche donc à résoudre les équations lin’eaires en x,y,t :
g1=u,g2=v,g3=w.
On tape pour avoir x,y,z en fonction de u,v,w :
L:=linsolve([g1-u,g2-v,g3-w],[x,y,t])
On obtient :
[-7/15*u-(-2)/15*v-1/5*w,2/15*u+(-7)/15*v+1/5*w,
-1/5*u-(-1)/5*v-(-1)/5*w]
On tape pour définir l’équation tangentielle G(u,v,w)=0 de la conique d’équation g(x,y,t)=0 :
G:=unapply(numer(g(L[0],L[1],L[2])),[u,v,w])
On obtient :
(u,v,w)->-7*u^2+4*u*v-6*u*w-7*v^2+6*v*w+3*w^2
Pour une courbe, un foyer au sens de Plücker est un point d’où l’on peut mener deux tangentes isotropes à la courbe. Une isotrope est une droite de pente i ou de pente −i, par exemple si F1=point(x1+i*y1), la droite :
i*xyi*x1+y1=0 est une isotrope qui passe par F1.
Donc pour que F1 soit un foyer il faut que :
G(i,−1,w1)=0 avec w1=−i*x1+y1.
Pour avoir les foyers, on tape :
C:=normal(G(i,-1,w1))
On obtient :
3*w1^2+(-6-6*i)*w1-4*i
On tape pour déterminer w1=−i*x1+y1 tel que G(i,−1,w1)=0 :
LF:=normal(csolve(C,w1))
On obtient :
[((1+i)*sqrt(15)+3+3*i)/3,((-1-i)*sqrt(15)+3+3*i)/3]
Il y a donc 2 foyers F1 et F2 qui ont comme coordonnées x1,y1 et x2,y2.
On tape pour avoir les coordonnées de F1 :
x1:=-im(LF[0]);y1:=re(LF[0]);
On obtient :
-((sqrt(15)+3)/3),(sqrt(15)+3)/3
Donc :

F1=
−(
15
+3)+i(
15
+3)
3

On tape pour avoir les coordonnées de F2 :
x2:=-im(LF[1]);y2:=re(LF[1]);
On obtient :
-((-(sqrt(15))+3)/3),(-(sqrt(15))+3)/3
Donc

F2=
15
−3)+i(−
15
+3)
3

La directrice d’une conique propre associée à un foyer F est la polaire de F.
La polaire d’un point x0,y0,t0 d’une conique g(x,y,t)=0 a pour équation homogène :
x*gx0′+y*gy0′+t*gt0′=0
Pour avoir la directrice D1 associée au foyer F1 de coefficients u1,v1,w1, on tape :
u1:=normal(subst(g1,[x=x1,y=y1,t=1]))
On obtient :
sqrt(15)/3
On tape :
v1:=normal(subst(g2,[x=x1,y=y1,t=1]))
On obtient :
-sqrt(15)/3
On tape :
w1:=normal(subst(g3,[x=x1,y=y1,t=1]))
On obtient :
(2*sqrt(15)+15)/3
Donc la directrice D1 associée au foyer F1 a pour équation :

x
15
y
15
+2
15
+15=0

Pour avoir la directrice D2 associée au foyer F2 de coefficients u2,v2,w2, on tape :
u2:=normal(subst(g1,[x=x2,y=y2,t=1]))
On obtient :
-(sqrt(15))/3
On tape :
v2:=normal(subst(g2,[x=x2,y=y2,t=1]))
On obtient :
sqrt(15)/3
On tape :
w2:=normal(subst(g3,[x=x2,y=y2,t=1]))
On obtient :
(-2*sqrt(15)+15)/3
Donc la directrice D2 associée au foyer F2 a pour équation :

x
15
+y
15
−2
15
+15=0

On fait le dessin, on tape :
conique(f(x,y));F1:=point(x1+i*y1);F2:=point(x2+i*y2);
D1:=droite(u1*x+v1*y+w1=0);D2:=droite(u2*x+v2*y+w2=0)
On obtient :

Si M est un point de la conique (par exemple M)(0;(−√7+1)/2) et si H est la projection de M sur la directrice associée à F alors l’éxcentricité e de la conique vaut :

e=
MF
MH

On tape :
M:=point(i*(1-sqrt(7))/2);
H1:=projection(D1,M)
e2:=normal(longueur2(M,F1)/longueur2(M,H1))
On obtient e2 :
2/3
donc

e=
6
3

16.7.3  Avec un programme

On rappelle l’énoncé :
Déterminer les foyers de la conique d’équation dans le reère Oxy :

f(x,y)=−2x2−2*x*y−2*y2−2*x+2*y+3=0

On écrit le programme conique2fd qui a comme argument la fonction de 2 variables qui définit la conique.
On tape dans l’éditeur de programmes :

conique2fd(f):={
local t,x,y,g,g1,g2,g3,L,G,u,v,w,w1,C, 
      LF,x1,x2,y1,y2,u1,u2,v1,v2,w1,w2,s;
purge(x);purge(y);purge(t);
purge(u);purge(v);purge(w);
g:=unapply(normal(t^2*f(x/t,y/t)),[x,y,t]);
g1:=normal(diff(g(x,y,t),x)/2);
g2:=normal(diff(g(x,y,t),y)/2);
g3:=normal(diff(g(x,y,t),t)/2);
L:=linsolve([g1-u,g2-v,g3-w],[x,y,t]);
G:=unapply(numer(g(L[0],L[1],L[2])),[u,v,w]);
C:=normal(G(i,-1,w));
LF:=normal(csolve(C,w));
s:=size(LF);
si s==0 alors 
return[]; 
fsi;
x1:=-im(LF[0]);y1:=re(LF[0]);
u1:=normal(subst(g1,[x=x1,y=y1,t=1]));
v1:=normal(subst(g2,[x=x1,y=y1,t=1]));
w1:=normal(subst(g3,[x=x1,y=y1,t=1]));
si s==1 alors 
return [normal([x1,y1]),numer(u1*x+v1*y+w1)];
fsi;
x2:=-im(LF[1]);y2:=re(LF[1]);
u2:=normal(subst(g1,[x=x2,y=y2,t=1]));
v2:=normal(subst(g2,[x=x2,y=y2,t=1]));
w2:=normal(subst(g3,[x=x2,y=y2,t=1]));
return [normal([x1,y1]),numer(u1*x+v1*y+w1)],
       [normal([x2,y2]),numer(u2*x+v2*y+w2)];
}:;

Puis, on tape :
f(x,y)=-2x^2-2*x*y-2*y^2-2*x+2*y+3
conique2fd(f)
On obtient :
[[(-(sqrt(15))-3)/3,(sqrt(15)+3)/3],
sqrt(15)*x-sqrt(15)*y+2*sqrt(15)+15],

[[(sqrt(15)-3)/3,(-(sqrt(15))+3)/3],
-sqrt(15)*x+sqrt(15)*y-2*sqrt(15)+15]

16.7.4  Avec un programme en utilisant q2a

On rappelle l’énoncé :
Déterminer les foyers de la conique d’équation dans le repère Oxy :

f(x,y)=−2x2−2*x*y−2*y2−2*x+2*y+3=0

On écrit le programme conique2fd qui a comme argument la fonction de 2 variables qui définit la conique.
On tape dans l’éditeur de programmes:

conique2fdir(f):={
local t,x,y,g,A,A1,B,C,g,L,G,u,v,w,w1,
      LF,x1,x2,y1,y2,u1,u2,v1,v2,w1,w2,s;
purge(x);purge(y);purge(t);
purge(u);purge(v);purge(w);
g:=unapply(normal(t^2*f(x/t,y/t)),[x,y,t]);
A:=q2a(g(x,y,t),[x,y,t]);
si det(A)!=0 alors B:=inverse(A) else return 0 fsi;
G(u,v,w):=g(op(B*[u,v,w]));
C:=normal(G(i,-1,w));
LF:=normal(csolve(C,w));
s:=size(LF);
si s==0 alors 
return[]; 
fsi;
x1:=-im(LF[0]);y1:=re(LF[0]);
A1:=A*[x1,y1,1];
u1:==normal(A1[0]);
v1:=normal(A1[1]);
w1:=normal(A1[2]);
si s==1 alors 
return [normal([x1,y1]),numer(u1*x+v1*y+w1)];
fsi;
x2:=-im(LF[1]);y2:=re(LF[1]);
A1:=A*[x2,y2,1];
u2:=normal(A1[0]);
v2:=normal(A1[1]);
w2:=normal(A1[2]);
return [normal([x1,y1]),numer(u1*x+v1*y+w1)],
       [normal([x2,y2]),numer(u2*x+v2*y+w2)];
}
:;

Puis, on tape :
f(x,y):=-2x^2-2*x*y-2*y^2-2*x+2*y+3
conique2fdir(f)
On obtient :
[[(-(sqrt(15))-3)/3,(sqrt(15)+3)/3],
sqrt(15)*x-sqrt(15)*y+2*sqrt(15)+15],

[[(sqrt(15)-3)/3,(-(sqrt(15))+3)/3],
-sqrt(15)*x+sqrt(15)*y-2*sqrt(15)+15]

16.7.5  Tangentes communes à 2 coniques

On utilise l’équation tangentielle de ces 2 coniques :

tangentes(f,g):={
local x,y,t,u,v,w,A,A1,B,B1,F,G,FT,GT,D,k,L0,L1;;
purge(x);purge(y);purge(t);
purge(u);purge(v);purge(w);
F:=unapply(normal(t^2*f(x/t,y/t)),[x,y,t]);
A:=q2a(F(x,y,t),[x,y,t]);
si det(A)!=0 alors A1:=inverse(A) else return 0 fsi;
FT(u,v,w):=F(op(A1*[u,v,w]));
G:=unapply(normal(t^2*g(x/t,y/t)),[x,y,t]);
B:=q2a(G(x,y,t),[x,y,t]);
si det(B)!=0 alors B1:=inverse(B) else return 0 fsi;
GT(u,v,w):=G(op(B1*[u,v,w]));
L0:=solve(normal(FT(u,v,0),GT(u,v,0)),[u,v]);
L1:=solve(normal(FT(u,v,1),GT(u,v,1)),[u,v]);
D:=NULL;
if (L0[0]==[0,0]) {L0:=tail(L0);}
for (k:=0;k<size(L0);k++){
D:=D, droite(L0[k,0]*x+ L0[k,1]*y);
}
for (k:=0;k<size(L1);k++){
D:=D,droite( L1[k,0]*x+ L1[k,1]*y+1)
;}
return D;
}
:;

On tape :
f(x,y):=x^2+y^2-2*x
g(x,y):=x^2+y^2-8x+12
cercle(f(x,y)),cercle(g(x,y)),tangentes(f,g)
On obtient :

On tape :
f(x,y):=2*x^2+y^2-2*x
g(x,y):=x^2+y^2-8*x+12
conique(f(x,y)),cercle(g(x,y)),tangentes(f,g)
On obtient :

On tape :
f(x,y):=2*x^2+y^2-2*x
g(x,y):=x^2-y^2-8x+12
conique(f(x,y)),conique(g(x,y)),tangentes(f,g)
On obtient :

On tape :
f(x,y):=2*x^2+y^2-2*x-4*y
g(x,y):=x^2-y^2-8x+12
conique(f(x,y)),conique(g(x,y)),tangentes(f,g)
On obtient :
On tape :
f(x,y):=2*x^2+y^2-16*x-8*y+32
g(x,y):=x^2-y^2-8x+12
conique(f(x,y)),conique(g(x,y)),tangentes(f,g)
On obtient :

16.8  Équation d’une ellipse ou d’une hyperbole

16.8.1  L’ellipse ou l’hyperbole est donnée par ses foyers et 1 point

L’ellipse
Soient F1 et F2 les foyers et M0 un point de l’ellipse.
On a :
a=(M0F1+M0F2)/2
M0F12M0F22=2a*(M0F1M0F2)
donc puisque pour qu’un point M soit un point de l’ellipse on a : MF1+MF2=2a et
MF1MF2=(MF12MF22)/(2a) on a :
MF1=a+(MF12MF22)/(4*a)
ou encore :
MF12=(a+(MF12MF22)/(4*a))2 L’équation de l’ellipse est donc : MF12−(a+(MF12MF22)/(4*a))2=0 avec a=(M0F1+M0F2)/2.
L’hyperbole
Soient F1 et F2 les foyers et M0 un point de l’hyperbole.
On a :
a=|M0F1M0F2|/2
|M0F12M0F22|=2a*(M0F1+M0F2)
donc puisque pour qu’un point M soit un point de l’hyperbole on a : MF1MF2=2a*s (avec s=+1 ou s=−1) et
MF1+MF2=(MF12MF22)/(2*a*s) on a :
MF1=s*(a+(MF12MF22)/(4*a))
ou encore :
MF12=(a+(MF12MF22)/(4*a))2 L’équation de l’hyperbole est donc : MF12−(a+(MF12MF22)/(4*a))2=0 avec a=|M0F1M0F2|/2.
On tape le programme :

eqcon2fm(F1,F2,M0,s):={
local x1,x2,y1,y2,x0,y0,x,y,ae,ah,a,M,eq,l1,l2,l,l3;
x1,y1:=coordonnees(F1);
x2,y2:=coordonnees(F2);
x0,y0:=coordonnees(M0);
l3:=longueur2(F1,F2)/4;
ae:=(longueur(M0,F1)+longueur(M0,F2))/2;
ah:=abs(longueur(M0,F1)-longueur(M0,F2))/2
si s=="ellipse" alors a:=simplify(ae); sinon a:=simplify(ah); fsi;
si simplify(a^2-l3)==0 alors si s=="ellipse" alors print("segment");sinon 
print("2 demi-droites");fsi;fsi
purge(x,y);
M:=point(x,y);
l2:=longueur2(M,F1);
l:=(l2-longueur2(M,F2))/(4*a);
l1:=simplify(a+l);
eq:=numer(simplify(l2-l1^2));
si simplify(a^2-l3)>0 alors print("ellipse centre "+(F1+F2)/2+" a="+a);
 sinon 
 si simplify(a^2-l3)<0 alors print("hyperbole centre "+(F1+F2)/2+" a="+a); 
   sinon
     eq:=factors(eq)[0];
 fsi;
fsi;
return eq;
}:;

On tape :
eqcon2fm(point(1-i),point(i),point(1+i),"ellipse") On obtient :
ellipse centre 1/2 a=3/2
8*x^2+4*x*y-8*x+5*y^2-2*y-7 On tape :
eqcon2fm(point(1-i),point(i),point(1+i),"hyp") On obtient :
hyperbole centre 1/2 a=(sqrt(5))/4
16*x^2+256*x*y-16*x-176*y^2-128*y+79 On tape :
eqcon2fm(point(1-i),point(i),point(1/4+i/2),"ellipse") On obtient :
segment
2*x+y-1
On tape :
eqcon2fm(point(1-i),point(i),point(-1/4+3*i/2),"hyp") On obtient :
2 demi droites
2*x+y-1

16.8.2  L’ellipse ou l’hyperbole est donnée par ses foyers et a

On a donc comme précédement :
L’équation de l’ellipse ou de l’hyperbole est : MF12−(a+(MF12MF22)/(4*a))2=0.
On tape le programme :

eqcon2fa(F1,F2,a):={
local x1,x2,y1,y2,x,y,M,eq,l1,l2,l,l3;
x1,y1:=coordonnees(F1);
x2,y2:=coordonnees(F2);
purge(x,y);
M:=point(x,y);
l2:=longueur2(M,F1);
l:=(l2-longueur2(M,F2))/(4*a);
l1:=simplify(a+l);
eq:=numer(simplify(l2-l1^2));
l3:=longueur2(F1,F2)/4;
si simplify(a^2-l3)>0 alors print("ellipse centre "+(F1+F2)/2+" a="+a);
 sinon 
 si simplify(a^2-l3)<0 alors print("hyperbole centre "+(F1+F2)/2+" a="+a); 
   sinon
     eq:=factors(eq)[0];
     print("segment ou 2 demi droites") 
 fsi;
fsi;
return eq;
}:;

On tape :
eqcon2fa(point(1-i),point(i),sqrt(5)/2)) On obtient :
segment ou 2 demi droites
2*x+y-1 On tape :
eqcon2fa(point(1-i),point(i),sqrt(5))) On obtient :
ellipse centre 1/2 a=sqrt(5)
76*x^2+16*x*y-76*x+64*y^2-8*y-281
On tape :
eqcon2fa(point(1-i),point(i),sqrt(5)/3)) On obtient :
hyperbole centre 1/2 a=(sqrt(5))/3
396*x^2+1296*x*y-396*x-576*y^2-648*y+599

Retour à la page personnelle de Bernard Parisse.
Previous Up Next