Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#76 24-12-2010 12:26:11
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 385
Re : Enigme : à l'intérieur d'un triangle équilatéral
Re,
Désolé..
Je ne comprends pas ce que raconte freddy, quant à grpbx va falloir que je sorte crayon et papier, parce que ça m'écorche les yeux (ma page LaTeX est pourtant si simple as-tu écrit...)...
Moi j'appelle d, a : c'est pt'êt idiot, mais d, ça me gêne...
Fredy, tu extrais y² : [tex]y^2=L_1^2-x^2[/tex]
Tu reportes dans [tex]L_2^2[/tex] :
[tex][L_2^2=(x-a)^2+y^2=x^2-2ax+a^2+L_1^2-x^2[/tex]
Soit :
[tex]L_2^2=-2ax+a^2+L_1^2[/tex]
Ou encore :
[tex]x=\frac{L_1^2-L2^2+a^2}{2a}[/tex]
Mais après tu dis reporter x dans [tex]L_1^2[/tex]
[tex]y^2=L_1^2-\frac{(L_1^2-L2^2+a^2)^2}{4a^2}[/tex]
Pour arriver à :
[tex]y^2=\frac{4a^2L_1^2-(L_1^2-L2^2+a^2)^2}{4a^2}[/tex]
Et après ?
Tu reportes x² et y² dans L_3^2 ? Pas possible, il y a besoin d'une racine carrée et alors on quitte les entiers... Ou alors je n'ai rien compris, ce qui est probable, parce que grpbx, lui, apparemment a pigé...
Maintenant, je regarde la suggestion de grpbx et je vais aérer ses formules...
@+
Hors ligne
#77 24-12-2010 12:37:44
- gprbx
- Membre
- Inscription : 17-12-2010
- Messages : 134
Re : Enigme : à l'intérieur d'un triangle équilatéral
Bonjour,
J'ai passé facilement jusqu'à plus de 20000 en visual Basic compilé (variables de type Double).
C'est à ce moment que l'approximation Double (flottant) vers Entier m'a donné un résultat bizarre :
Coté 15906 Point M à distances 7953, 7953, 13775 des sommets (la hauteur est 13775,00007...)
J'ai alors fait la démonstration publiée dans mon message du 19/12/2010 19:41:42
Je pensais qu'il valait mieux rester dans ce Forum aux méthodes collège et Lycée, mais même yoshi semble ne pas suivre la dernière méthode de Freddy qui est pourtant, géométriquement : Calculer l'intersection ponctuelle M de 2 cercles centrés sur 2 sommets et en déduire la distance du point M au troisième sommet.
Navré yoshi, je ne me suis encore mis à LaTex, pourtant j'ai largement jadis potassé Knuth qui m'avait époustouflé dans ses "Art of computer programming" de l'époque.
bonnes et joyeuses fêtes : gprbx
Hors ligne
#78 24-12-2010 13:31:07
- freddy
- Membre chevronné

- Lieu : Paris
- Inscription : 27-03-2009
- Messages : 7 457
Re : Enigme : à l'intérieur d'un triangle équilatéral
Bonjour,
je récapépète pour yoshi !
Dans un repère orthonormé classique, on prend les points [tex]A(0,0),\; B\left(\frac{a}{2},\sqrt{3}\times \frac{a}{2}\right),\;C(a,0)[/tex]
Le point P(x,y) dans le triangle équilatéral ABC de longueur a> 0 est à la distance L1 de A, L2 de C et L3 de B. Par définition, on a :
[tex]L_1^2=x^2+y^2,\;L_2^2=(x-a)^2+y^2,\;L_3^2=\left(x-\frac{a}{2}\right)^2+\left(y-\sqrt{3}\times \frac{a}{2}\right)^2[/tex]
On déduit [tex]x=\frac{a}{2}-\frac{L_2^2-L_1^2}{2a}[/tex] ce qui permet de calculer l'ordonnée y :
[tex]y=\sqrt{L_1^2-x^2}=[/tex] ...
A ce moment là, je teste la troisième équation où j'ai, d'un côté la valeur de la troisième longueur donnée par une boucle do, et de l'autre, le calcul d'un rayon. Si c'est OK, le pgm imprime la bonne valeur de a !
par exemple, on a encore 637, 645, 662 (prévisible), ...
Dernière modification par freddy (24-12-2010 13:32:24)
Hors ligne
#79 24-12-2010 13:45:24
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 385
Re : Enigme : à l'intérieur d'un triangle équilatéral
Re,
Je pensais qu'il valait mieux rester dans ce Forum aux méthodes collège et Lycée, mais même yoshi semble ne pas suivre la dernière méthode de Freddy...
T'as raison, je suis bon qu'à suivre les cours de CM2, dois-je descendre ma note à -50 ?
Si, j'ai bien compris, mais cela me pose un problème métaphysique...
En effet, dans [tex]\left(y-\frac{a\sqrt 3}{2}\right)^2[/tex], il y a y et on possède y²...
Or, j'avais cru comprendre qu'on ne travaillait qu'avec des entiers ? Or si j'ai bien y², je n'ai pas y, il va falloir prendre la racine carrée de l'expression de y² que j'ai calculée...
Et le passage à Python avec des réels serait donc contradictoire, non ?
Bon, on va essayer quand même
Je vais reprendre les notations de Barbichu, j'appelle m, n, p les distances respectives de P(x ; y) intérieur au triangle aux points A, B et C...
J'ai :
[tex]\begin{cases}x^2+y^2 &=m^2\\(x-a)^2+y^2&=p^2\end{cases}[/tex]
J'en tire :
[tex]x^2-(x-a)^2=m^2-p^2\;\Leftrightarrow\;x=\frac{m^2-p^2+a^2}{2a}[/tex]
D'où
[tex]y^2=m^2-\frac{(m^2-p^2+a^2)^2}{4a^2}\;\Leftrightarrow\;y^2=\frac{4a^2m^2-(m^2-p^2+a^2)^2}{4a^2}[/tex]
Soit :
[tex]y=\frac{\sqrt{|4a^2m^2-(m^2-p^2+a^2)^2|}}{2a}[/tex]
Je vais Pythonner avec ça, on verra bien : je vais reporter x et y, dans
[tex]\left(x-\frac a 2\right)^2+\left(y-\frac{a\sqrt 3}{2}\right)^2=n^2[/tex]
Et vérifier que n^2 est un carré parfait...
C'est bon, j'peux passer en 6e ?
@grpbx
Désolé encore, avec mon niveau CM2, je ne connais pas ce M. Knuth dont tu vantes les mérites, seulement le knout...
J'ai bien vu que tu n'as pas sauté le pas de LaTeX, pourtant si tu es capable d'être époustouflé par ce Knuth, LaTeX ne devrait être qu'un jeu d'enfants (normal pour un multi-grand-père...)
@+
Hors ligne
#80 24-12-2010 13:48:47
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 385
Re : Enigme : à l'intérieur d'un triangle équilatéral
Re,
Oui, freddy, j'avais bien compris...
Mon seul point d'interrogation si tu m'a bien lu, était le y et le recours à une racine carrée : j'ai cru à l'instar du 1er programme de Barbichu, qu'on ne travaillait pas avec des valeurs approchées, or celle de y en est une...
Merci quand même de ton effort...
@+
Hors ligne
#81 24-12-2010 14:07:12
- gprbx
- Membre
- Inscription : 17-12-2010
- Messages : 134
Re : Enigme : à l'intérieur d'un triangle équilatéral
Bonjour,
Donld E. Knuth a initié un "processeur de texte" TeX qui a été la base de LaTeX. Il l'a fait pour pouvoir faire éditer ses bouquins sur ordinateurs de l'époque...Nous en étions encore aux cartes perforées....
Mais je vais me mettre à LaTeX dont je n'avais pas l'usage jusqu'à présent...
Cordialement : gprbx
Hors ligne
#82 24-12-2010 14:08:55
- Barbichu
- Membre actif
- Inscription : 15-12-2007
- Messages : 405
Re : Enigme : à l'intérieur d'un triangle équilatéral
Salut,
Désolé encore, avec mon niveau CM2, je ne connais pas ce M. Knuth dont tu vantes les mérites, seulement le knout...
J'ai bien vu que tu n'as pas sauté le pas de LaTeX, pourtant si tu es capable d'être époustouflé par ce Knuth, LaTeX ne devrait être qu'un jeu d'enfants (normal pour un multi-grand-père...)
Donald Knuth est un informatien célèbre, il est l'inventeur de TeX, langage pour lequel LaTeX (créé par Leslie Lamport) est une surcouche de macros, destinée à en faciliter l'utilisation. Il a créé TeX pour simplifier l'écriture du célèbre "The Art of Computer Programming" dont 3 volumes sont parus et dont le 4e est en cours d'écriture.
j'ai cru à l'instar du 1er programme de Barbichu, qu'on ne travaillait pas avec des valeurs approchées, or celle de y en est une...
Je n'ai moi non plus pas encore compris en quoi vous aviez besoin d'approximations pour vos calculs.
Ce n'est pas parce que vous devez calculer une racine carrée que vous avez besoin d'en avoir une approximation. Il y a des algorithmes de calcul de racines carrés entières, qui devraient être plus efficace qu'un calcul d'une valeur approché suivi d'un test d'intégralité.
a+
Hors ligne
#83 24-12-2010 14:25:33
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 385
Re : Enigme : à l'intérieur d'un triangle équilatéral
RE,
Je suis parti sur les bases de freddy, j'ai fait une programmation "bête et méchante", et je tombe bien sur le triplet
(65,208,247), mais mon prg ignore superbement ceux-ci donné par Barbichu : (120, 153, 237) et (208, 97, 185)...
Mais qu'en est-il de celui-ci donné par Epilog : (241, 227, 59) et pas par Barbichu, il me semble ?
Je regarderai plus tard, je vais aller déneiger : ça, ça ne me demande pas un effort intellectuel trop intense...
@+
Hors ligne
#84 24-12-2010 14:31:18
- Barbichu
- Membre actif
- Inscription : 15-12-2007
- Messages : 405
Re : Enigme : à l'intérieur d'un triangle équilatéral
Re,
Je suis parti sur les bases de freddy, j'ai fait une programmation "bête et méchante", et je tombe bien sur le triplet
(65,208,247), mais mon prg ignore superbement ceux-ci donné par Barbichu : (120, 153, 237) et (208, 97, 185)...
Tu viens d'obtenir un point sur un côté : 65 + 208 = 273
De même que (120, 153, 237) en était un : 120 + 153 = 273
La seule bonne solution (à permutations près) est (208, 97, 185).
Mais qu'en est-il de celui-ci donné par Epilog : (241, 227, 59) et pas par Barbichu, il me semble ?
D'après moi, c'est tout simplement la réponse à un autre problème ou bien c'est faux (ou les deux ^^).
Bon deneigement
Dernière modification par Barbichu (24-12-2010 14:31:58)
Hors ligne
#85 24-12-2010 16:07:55
- gprbx
- Membre
- Inscription : 17-12-2010
- Messages : 134
Re : Enigme : à l'intérieur d'un triangle équilatéral
Bonjour,
Voici mon premier essai d'écriture en Latex...Pour clarifier mon exposé précedent :
Soit un triangle quelconque de cotés a, b, c. appelons p son DEMI-périmètre. On sait que son aire S vaut
[tex] S = \sqrt{p(p-a)(p-b)(p-c)} [/tex]
on va donc pouvoir utiliser la valeur de 4S² qui est un Entier si elle est calculée à partir des Entiers a, b, c.
[tex] 4S^2 = (a+b+c) (-a+b+c) (a-b+c) (a+b-c) [/tex]
Soit donc un triangle équilatéral ABC dont on connaît le coté, un point M intérieur dont on donne les distances aux 3 sommets,
Pour vérifier que les longueurs connues (ou supposées) sont "cohérentes", je propose d'utiliser
Aire (ABC) = Aire (AMB) + Aire (BMC) + Aire (CMA)
Soient S1, S2, S3, ST Aires respectives des triangles AMB, BMC, CMA, ABC
(dans ce qui suit la multiplication est exprimée par un . pour plus de clarté)
Calculons les valeurs a1=4.S1², a2 = 4.S2², a3=4.S3², aT=4.ST²
On sait au départ que S1 + S2 = ST - S3
S1² + S2² + 2.S1.S2 = ST² + S3² - 2.ST.S3 ;
Soit X= 4.ST² + 4.S3² - 4.S1² - 4.S2² ; on calcule X=aT+a3-a1-a2)
2.S1.S2 + 2.ST.S3 = X/4
8.S1.S2 + 8.ST.S3 = X
64.S1².S2² + 64.ST².S3² + 128.ST.S1.S2.S3 = X² ;
Soit Y = X² - 64.S1².S2² - 64.ST².S3² ; on calcule Y=X2-(4.a1.a2)-(4.aT.a3)
128.ST.S1.S2.S3 = Y
Soit Z = 128².ST².S1².S2².S3² : on calcule Z=64.a1.a2.a3.aT
Alors Z = Y² implique que les 4 valeurs de départ qui sont des Entiers sont bien les distances du point M aux 3 sommets. Et les calculs utilisent tous des résultats qui sont exactement des Entiers !
Transformer ces indications en un petit programme Python est facile...
@+ : gprbx
Hors ligne
#86 24-12-2010 16:47:37
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 385
Re : Enigme : à l'intérieur d'un triangle équilatéral
Re,
Programme corrigé, il y avait une erreur...
Mais il doit y en avoir une autre, parce que je calcule maintenant avec une précision de 20 décimales, et je ne trouve plus le point sur les côtés, mais : (153,119,237), rien d'autre.
C'est louche...
@grpbx
Je m'attaque à ta méthode : j'avais déjà tout "dépiauté" ce matin...
@+
Hors ligne
#87 24-12-2010 17:42:31
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 385
Re : Enigme : à l'intérieur d'un triangle équilatéral
Bonsoir,
Soit le triangle équilatéral de côté a et S son aire.
La hauteur du triangle équilatéral est [tex]\frac{a\sqrt 3}{2}[/tex]
D'où [tex]S = \frac{a\times \dfrac{a\sqrt 3}{2}}{2}=\frac{a^2\sqrt 3}{4}[/tex] et [tex]4S^2=4\times \frac{3a^4}{16}=\frac{3a^4}{4}=4165928880.75[/tex]
Pourquoi 4S² serait-il entier ?
[tex]4S^2 =4p(p-a)(p-b)(p-b)(p-c)[/tex]
La formule du long bec emmanché d'un long cou est d'accord avec moi :
p=3a/2, p-a = a/2, p-b=a/2 , p-c = a/2
[tex]4S^2 =4p(p-a)(p-b)(p-c)=4\times\frac{3a}{2}\times \frac a 2 \times \frac a 2 \times \frac a 2 =\frac{3a^4}{4}[/tex]
Alors, pourtant :
on va donc pouvoir utiliser la valeur de 4S² qui est un Entier si elle est calculée à partir des Entiers a, b, c.
Manifestement cette assertion ne s'applique pas au cas de notre triangle équilatéral...
Pour que 4S² soit entier il faut que soit la Base choisie du triangle ou la hauteur associée soit, l'un ou l'autre, entier et de plus pair...
@+
[EDIT]
J'ai quand même appliqué bêtement ta méthode et voici
- le programme :
import psyco
psyco.full()
a=273
aT=3*a**4/4
for l in xrange(1,a):
for m in xrange(a-l+1,l+1):
for n in xrange(a-l+1,m+1):
p=(l+m+a)/2
a1=p*(p-l)*(p-m)*(p-a)*4
p=(m+n+a)/2
a2=p*(p-m)*(p-n)*(p-a)*4
p=(l+n+a)/2
a3=p*(p-l)*(p-n)*(p-a)*4
x=aT+a3-a1-a2
y=x**2-4*a1*a2-4*aT*a3
z=a1*a2*a3*aT*64
if z==y**2:
print l,m,n
- ce que crache le programme :
208 185 97
237 153 120
247 208 65
Méthode fonctionnelle, bravo, même si aT n'est pas entier...
Je vais voir maintenant si je peux optimiser ce code.
Dernière modification par yoshi (24-12-2010 19:05:34)
Hors ligne
#88 25-12-2010 12:08:04
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 385
Re : Enigme : à l'intérieur d'un triangle équilatéral
RE,
J'ai essayé ce matin la méthode de calcul via :
[tex] 4S^2 = (a+b+c) (-a+b+c) (a-b+c) (a+b-c) [/tex]
pensant que ces calculs seraient plus rapides.... Bizarrement ma machine ne trouvait rien !
Et pour cause cette formule aussi est fausse :
[tex]p=\frac{a+b+c}{2}[/tex]
[tex]p-a=\frac{a+b+c}{2}-a=\frac{a+b+c}{2}-\frac{2a}{2}=\frac{b+c-a}{2}[/tex]
De même :
[tex]p-b=\frac{a+b+c}{2}-b=\frac{a+c-b}{2}[/tex] et [tex]p-c=\frac{a+b+c}{2}-c=\frac{a+b-c}{2}[/tex]
D'où [tex]S^2=p(p-a)(p-b)(p-c)=\frac{a+b+c}{2}\times\frac{b+c-a}{2}\times\frac{a+c-b}{2}\times \frac{a+b-c}{2}[/tex]
Et
[tex]S^2=\frac{1}{16}(a+b+c)(b+c-a)(a+c-b)(a+b-c)[/tex]
Formule finale :
[tex]16S^2=(a+b+c)(b+c-a)(a+c-b)(a+b-c)[/tex]
16S² et non 4S²...
Et les calculs d'aires fonctionnent avec une réponse de moins en divisant les calculs d'aires par 4 :
237 153 120
247 208 65
Là, pour le coup, j'passe direct en 4e... ;-)
@+
[EDIT]
je calcule maintenant avec une précision de 20 décimales, et je ne trouve plus le point sur les côtés, mais : (153,119,237), rien d'autre.
C'est louche...
Je viens de me rendre compte en comparant que le triplet (153,119,237) n'est pas loin de LA solution puisqu'elle est : (153,120,237).
Je ne crois pas pouvoir rétablir la bonne valeur : l'écart doit être dû aux calculs approchés inhérents à la méthode de freddy.
D'ailleurs freddy, tu veux bien me dire comment tu as programmé ça sur ton Tableur, que j'essaie avec le mien ?
Hors ligne
#89 25-12-2010 12:37:17
- gprbx
- Membre
- Inscription : 17-12-2010
- Messages : 134
Re : Enigme : à l'intérieur d'un triangle équilatéral
Bonjour,
J'ai un petit moment avant que la famille n'arrive ce jour de Noël
Oui, je suis allé trop vite et j'ai perdu un facteur entre demi-périmètre et expression en fonction des cotés.
C'est bien 16S² qui est un entier...
Je me suis quand même amusé un peu en reprenant cette formule de l'aire du triangle exprimée en fonction des cotés, car elle m’a toujours paru belle, mais en fait ce n'est pas le plus rapide.
Dans les boucles de recherche du point M dans le triangle ABC, il vaut mieux calculer en flottant et utiliser l'intersection des cercles de centres A et B, ce qui conduit à calculer les coordonnées x,y (non Entières) de M qui alors peuvent d’ailleurs être utilisées pour limiter les recherches dans le triangle AGH, G étant le centre de gravité et H le pied de la hauteur CH. Combiné avec les recherches de MA < MB, cela accélère bien la recherche dans tous les triangles ABC. Une fois obtenu MC supposé entier, et pour bien vérifier si MC est Entier, je crois que la méthode la plus rapide est de reprendre la formule algébrique qui donne MC² (utilisée par barbichu , freddy, etc) est d’éliminer les racines carrées.
C’est en fait ce que j’ai programmé en premier, Veuillez me pardonner si j’ai aussi publié la méthode par les aires des triangles, je n’ai pas pu m’en empêcher…
Bonnes et joyeuses fêtes : gprbx
Hors ligne
#90 25-12-2010 16:18:28
- freddy
- Membre chevronné

- Lieu : Paris
- Inscription : 27-03-2009
- Messages : 7 457
Re : Enigme : à l'intérieur d'un triangle équilatéral
Bonjour,
voilà la base de mon code (c'est sur SAS, un puissant outil informatique qui tourne sur des grosses machines capables d'avaler des gros fichiers de données et de faire des calculs comparables à Mathematica - hors calcul symbolique).
do L3= 1 to a-1;
do L2 = a-L3 to a-1;
do L1=int(a-(L3+L2)/2+1) to a-1;
if (L1+L2 ne a and L1+L3 ne a and L2+L3 ne a) then do;
x=a/2-(L2**2-L1**2)/(2a);
y = L1**2-x;
if y > 0 then y=sqrt(y);
if L3 = (x-a/2)**2+(y-a*sqrt(3)/2)**2 then output;
end;
end;
end;
end
end;
run;
Voilà, je pense que c'est lisible par tous ceux qui codent.
ps : je viens de faire un modif, car j'ai écrit mon code de mémoire ... pardon yoshi !
Dernière modification par freddy (25-12-2010 18:51:03)
Hors ligne
#91 25-12-2010 17:39:05
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 385
Re : Enigme : à l'intérieur d'un triangle équilatéral
Re,
Pas tout à fait...
L1+L2 ne a : ne signifie ? near ? not equal ?
Je présume que la ligne en question sert à éliminer les points sur les côtés.
Je vois que tu as essayé aussi d'éliminer les doublons.
l, m, n remplaçant chez moi tes L1, L2, L3, l'objectif étant le même, mes boucles sont commandées par :
for l in xrange(1,a):
for m in xrange(a-l+1,l+1):
for n in xrange(a-l+1,m+1)
Cela pourrait donner pour toi :
do L2 = a-L1+1 to L1+1;
do L3 = a-L1+1 to L2+1;
Peut-être cela te donnera-t-il une idée d'optimisation ?
N-B
En Python, l'indice de fin de boucle étant a, les itérations s'arrêtent à : a-1...
Je constate que tu fais moins de calculs que moi...
Ton prog doit être facile à traduire : je m'y colle et je reviens...
@+
[EDIT] chou blanc, nada...
Aucun résultat.
Question(s) subsidiaire(s) :
* Chez toi le / : quotient décimal ?
* A, B, c les 3 sommets placés comme tu l'as indiqué :
[tex]A(0\;;\;0),\;B\left(\frac{a}{2}\;;\;\frac{a\sqrt 3}{2}\right)\;C(a\;;\;0)[/tex], et P le point intérieur au triangle.
L1 = PA, L2 = PB ? L3 = PC ?
Probablement l'explication de l'absence de solutions est-elle là dans ma traduction...
Dernière modification par yoshi (25-12-2010 17:49:01)
Hors ligne
#92 25-12-2010 17:48:19
- gprbx
- Membre
- Inscription : 17-12-2010
- Messages : 134
Re : Enigme : à l'intérieur d'un triangle équilatéral
Bonsoir,
Dans le dernier code de freddy, Il me semble que x est une abscisse
sans doute alors devrait-on avoir y=L1**2 - x**2 avant de prendre la racine de y,
mais c'est sans doute un oubli de frapper le **2 après x car OK pour L3
Hors ligne
#93 25-12-2010 18:00:05
- freddy
- Membre chevronné

- Lieu : Paris
- Inscription : 27-03-2009
- Messages : 7 457
Re : Enigme : à l'intérieur d'un triangle équilatéral
Re,
ne veut dire "non égal" ; x est le carré de l'abscisse du point P, l'ordre est OK.
Hors ligne
#94 25-12-2010 18:36:25
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 385
Re : Enigme : à l'intérieur d'un triangle équilatéral
Salut grpbx,
Tu as grappillé 2 min ?
sans doute alors devrait-on avoir y=L1**2 - x**2 avant de prendre la racine de y,
Je m'étais posé la question depuis..
J'ai testé : c'est plus rapide, mais pas plus de résultats...
Diable !
from math import sqrt
import psyco
psyco.full()
for a in xrange(273,274):
for n in xrange(1,a):
for m in xrange(a-n,a):
for l in xrange(int(a-(m+n)/2+1),a):
if l+m != a and l+n != a and m+n != a:
x=a/2-(m**2-l**2)/(2*a)
y = l**2-x**2
if y > 0:
y=sqrt(y)
if n==(sqrt(x)-a/2)**2+(y-x*sqrt(3)/2)**2:
print a," ", l,m,n
Pourquoi donc x est-il un carré?
[tex]\begin{cases}x^2+y^2=l^2\\(x-a)^2+y^2=n^2\end{cases}[/tex]
Soit [tex]y^2=l^2-x^2[/tex] que je reporte :
[tex](x-a)^2+l^2-x^2=n^2[/tex]
Je développe :
[tex]x^2-2ax+a^2+l^2-x^2=n^2[/tex]
Je réduis :
[tex]-2ax+a^2+l^2=n^2[/tex]
D'où :
[tex]x=\frac{n^2-l^2-a^2}{-2a}=\frac{n^2-l^2}{-2a}+\frac{a^2}{2a}[/tex]
Et enfin :
[tex]x=\frac{l^2-n^2}{2a}+\frac{a}{2}[/tex]
De plus, ça, c'est faux : if L3 = (sqrt(x)-a/2)**2+(y-x*sqrt(3)/2)**2
C'est plutôt : if L3 = (sqrt(x)-a/2)**2+(y-a*sqrt(3)/2)**2
a au lieu de x : l'ordonnée de B étant [tex]\frac{a\sqrt 3}{2}[/tex]
Je vois en outre que son L3 c'est mon m au lieu de mon n...
Bon, alors faut que je reprenne ça...
@+
Hors ligne
#95 25-12-2010 18:49:05
- freddy
- Membre chevronné

- Lieu : Paris
- Inscription : 27-03-2009
- Messages : 7 457
Re : Enigme : à l'intérieur d'un triangle équilatéral
Oui, oui, j'ai donné mon code de mémoire en regardant la TV, pardon yoshi, c'est bien ça.
En fait, x n'est pas un carré et ce qu'il faut voir est que j'ai codé dans les boucles "do" les équations que j'ai récapitulées pour yoshi.
J'ai adapté à nouveau le code !! Pour les boucles, j'ai intégré le fait que le point P doit être à l'intérieur du triangle, donc que L1+L2 > a, L1+L3 >a et L2+L3 > a => la valeur de départ de L1.
Dernière modification par freddy (25-12-2010 18:55:07)
Hors ligne
#96 25-12-2010 19:00:52
- gprbx
- Membre
- Inscription : 17-12-2010
- Messages : 134
Re : Enigme : à l'intérieur d'un triangle équilatéral
Bonjour,
Freddy a écrit :(25/12/2010 16:18:28)
x=a/2-(L2**2-L1**2)/(2a);
Je veux juste comprendre si x a vraiment les dimensions d’une longueur ou celle d’un carré de longueurs.
Il me semble qu’en écriture algébrique cela était
2ax = a² -(L2² - L1²)
venant de l’élimination de y² dans l’intersection des 2 cercles :
x² + y² = L1²
(x – a)² + y² = L2² Soit x²-(x-a)² = -(L2² - L1²) Soit a(2x-a) = -(L2² - L1²)
Mais peut-être le sujet est-il clos ?
Cordialement : gprbx
Hors ligne
#97 25-12-2010 19:21:40
- gprbx
- Membre
- Inscription : 17-12-2010
- Messages : 134
Re : Enigme : à l'intérieur d'un triangle équilatéral
Bonsoir encore,
à propos de mes 4S² au lieu de 16S²,
Si les calculs des aires à partir des cotés, des X, Y, Z sont faits comme indiqués
la formule finale Z=Y² est juste, car chaque égalité de la démonstration était homogène par rapport aux surfaces
Quelle chance ! Je suis juste un peu triste de cette erreur de début... : gprbx
Hors ligne
#98 25-12-2010 20:27:56
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 385
Re : Enigme : à l'intérieur d'un triangle équilatéral
Re,
Adaptation du programme de freddy refaite : ne donne toujours rien... Grr...
Ce doit être l'optimisation des bornes des boucles : je reprends demain sans adaptation autre que de syntaxe !
Ce soir : basta !
Si je prends tes calculs tels quels pour a1, a2, a3 pour la solution avec aire = (a+b+c)(b+c-a)... je te certifie ne pas obtenir de réponse, par contre si je divise par 4 ces a1, a2, a3 j'obtiens LA bonne solution.
Avec ai =p(p-a)(p-b)(p-c) pas de réponse non plus..
Je dois écrire : ai=p(p-a)(p-b)(p-c)*4 et là, j'ai 3 réponses.
Voilà le code, il est conforme à tes descriptions, mis à part le *4, si tu doutes, teste !
#import psyco
#psyco.full()
a=273
aT=3*a**4/4
for l in xrange(1,a):
for m in xrange(a-l+1,l+1):
for n in xrange(a-l+1,m+1):
p=(l+m+a)/2
a1=p*(p-l)*(p-m)*(p-a)*4
#a1=(l+m+a)*(m+l-a)*(a+m-l)*(a+l-m)/4
p=(m+n+a)/2
a2=p*(p-m)*(p-n)*(p-a)*4
#a2=(n+m+a)*(m+n-a)*(a+m-n)*(a+l-n)/4
p=(l+n+a)/2
a3=p*(p-l)*(p-n)*(p-a)*4
#a3= (l+n+a)*(n+l-a)*(a+n-l)*(a+l-n)/4
x=aT+a3-a1-a2
y=x**2-(a1*a2+aT*a3)*4
z=a1*a2*a3*aT*64
if z==y**2:
print l,m,n
psyco est un accélérateur de calculs additionnel à télécharger (pour versions 2.5 et 2.6) écrit en C, procurant un gain de 5 à 25% de vitesse selon les cas...
J'ai lu comme pour le théorème d'Al Kashi que lorsqu'un des côtés du triangle est petit par rapport aux autres, les formules sont "instables" (sic)...
@+
Pas de regrets à avoir : cette solution avec les aires, est très bonne et moyennant optimisation des bornes des boucles, assez rapide...
Hors ligne
#99 25-12-2010 20:45:53
- freddy
- Membre chevronné

- Lieu : Paris
- Inscription : 27-03-2009
- Messages : 7 457
Re : Enigme : à l'intérieur d'un triangle équilatéral
Bonjour,
Freddy a écrit :(25/12/2010 16:18:28)
x=a/2-(L2**2-L1**2)/(2a);Je veux juste comprendre si x a vraiment les dimensions d’une longueur ou celle d’un carré de longueurs.
Il me semble qu’en écriture algébrique cela était
2ax = a² -(L2² - L1²)
venant de l’élimination de y² dans l’intersection des 2 cercles :
x² + y² = L1²
(x – a)² + y² = L2² Soit x²-(x-a)² = -(L2² - L1²) Soit a(2x-a) = -(L2² - L1²)Mais peut-être le sujet est-il clos ?
Cordialement : gprbx
C'est bien une longueur, pas son carré.
IL suffit de reprendre les trois équations d'origine.
Mais je trouve le calcul par les aires TRES astucieux !
Dernière modification par freddy (25-12-2010 20:46:27)
Hors ligne
#100 26-12-2010 09:44:07
- freddy
- Membre chevronné

- Lieu : Paris
- Inscription : 27-03-2009
- Messages : 7 457
Re : Enigme : à l'intérieur d'un triangle équilatéral
Bonjour,
en bricolant un peu les trois équations qui relient m=PA, n=PB et p=PCà la longueur du coté a du triangle équilatéral, je suis arrivé à la solution de Barbichu, savoir :
(m, n, p) solution du problème ssi :
[tex]a^4+m^4+n^4+p^4=a^2m^2+a^2n^2+a^2p^2+m^2n^2+m^2p^2+n^2p^2[/tex]
Ça devrait faciliter le pgm de recherche en ne travaillant que sur les carrés des nombres entiers, avec des contraintes d'encadrement.
Je vais regarder cela ce soir.
Bb
Dernière modification par freddy (26-12-2010 09:52:26)
Hors ligne







