Le 15/01/2022 à 01:31, Olivier Miakinen a écrit :
Pour info, voici le système d'équations (et inéquations) soumis à
wolframalpha :
solve r²=a²+x²;y=2a-x;z²=a²+y²;(z+b)²+b²=r²;a=sqrt(2);b=1/sqrt(2); r>0;x>0;y>0;z>0
Je n'avais pas vu que les deux triangles sont isocèles! Avec cette donnée je suis tout à fait d'accord avec tes équations. Voici comment les résoudre avec un calcul formel, ici maxima. Directement solve() ne donne rien, mais c'est typiquement un exemple où Grobner permet de triangulariser le système, ce qu'on doit pouvoir faire à la main. Je choisis l'ordre invlex pour isoler r, car r vient avant x,y,z.
Maxima 5.43.2
http://maxima.sourceforge.netusing Lisp SBCL 2.0.1.debian
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) load(grobner);
(%o1) /usr/share/maxima/5.43.2/share/contrib/Grobner/grobner.lisp
(%i2) poly_monomial_order:invlex;
(%o2) invlex
(%i3) display2d:false;
(%i4) poly_grobner([-r^2+a^2+x^2,-y+2*a-x,-z^2+a^2+y^2,(z+b)^2+b^2-r^2],[r,x,y,z]);
(%o4) [x^2-r^2+a^2,(-y)-x+2*a,(-z^2)+y^2+a^2,z^2+2*b*z-r^2+2*b^2,
(-b*z)+2*a*x-b^2-2*a^2,8*a^3*x+(b^2-4*a^2)*r^2-b^4,
(b^4-8*a^2*b^2+16*a^4)*r^4+((-2*b^6)+8*a^2*b^4-64*a^6)*r^2+b^8+64*a^8]
(%i5) subst([a=sqrt(2),b=1/sqrt(2)],%);
(%o5) [x^2-r^2+2,(-y)-x+2^(3/2),(-z^2)+y^2+2,z^2+sqrt(2)*z-r^2+1,
(-z/sqrt(2))+2^(3/2)*x-9/2,2^(9/2)*x-(15*r^2)/2-1/4,
(225*r^4)/4-(2033*r^2)/4+16385/16]
(%i6) solve(%[7]);
(%o6) [r = -sqrt(64*sqrt(109)+2033)/(15*sqrt(2)),
r = sqrt(64*sqrt(109)+2033)/(15*sqrt(2)),
r = -sqrt(2033-64*sqrt(109))/(15*sqrt(2)),
r = sqrt(2033-64*sqrt(109))/(15*sqrt(2))]
(%i7) float(%);
(%o7) [r = -2.450024769294418,r = 2.450024769294418,r = -1.741532137343261,
r = 1.741532137343261]
Il semble qu'il y ait 2 solutions positives pour r l'une étant la votre.
L'autre conduit peut être à x ou y ou z négatif ou imaginaire. A vérifier. Et en effet:
(%i10) solve(%o5,[r,x,y,z]);
(%o10) [[r = -sqrt(64*sqrt(109)+2033)/(15*sqrt(2)),
x = (sqrt(218)+2^(11/2))/30,y = -(sqrt(218)-7*2^(5/2))/30,
z = (4*sqrt(218)-7*sqrt(2))/30],
[r = sqrt(64*sqrt(109)+2033)/(15*sqrt(2)),x = (sqrt(218)+2^(11/2))/30,
y = -(sqrt(218)-7*2^(5/2))/30,z = (4*sqrt(218)-7*sqrt(2))/30],
[r = -sqrt(2033-64*sqrt(109))/(15*sqrt(2)),
x = -(sqrt(218)-2^(11/2))/30,y = (sqrt(218)+7*2^(5/2))/30,
z = -(4*sqrt(218)+7*sqrt(2))/30],
[r = sqrt(2033-64*sqrt(109))/(15*sqrt(2)),
x = -(sqrt(218)-2^(11/2))/30,y = (sqrt(218)+7*2^(5/2))/30,
z = -(4*sqrt(218)+7*sqrt(2))/30]]
(%i11) float(%);
(%o11) [[r = -2.450024769294418,x = 2.000655235205749,y = 0.8277718895404425,
z = 1.638659910144064],
[r = 2.450024769294418,x = 2.000655235205749,y = 0.8277718895404425,
z = 1.638659910144064],
[r = -1.741532137343261,x = 1.016333697856856,y = 1.812093426889336,
z = -2.298626239251509],
[r = 1.741532137343261,x = 1.016333697856856,y = 1.812093426889336,
z = -2.298626239251509]]
Donc l'autre solution conduit à z<0.
-- Michel Talon