Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

Répondre

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
cinquante et un moins vingt et un
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Retour

Résumé de la discussion (messages les plus récents en premier)

Terces
13-01-2016 18:26:45

Bonsoir,

Désolé mais j'ai dis des bêtises...
J'ai quand même une autre piste que tu m'as inspiré (car en 2D), je te tiens au courant si ca fonctionne, je le travaille ce soir.


Bon je viens de chercher et je n'ai rien trouvé d'intéressent...

Terces
06-01-2016 10:38:19

Re,
Je peux déjà te dire que si un tel tétraèdre existe alors OA, OB et OC sont pairs si je n'ais pas fait d'erreur. Je vais donc continuer sur cette voie là.
Pour trouver ce résultat, j'ai poser toutes les configurations pour k pair/imapir, m pair/impair et n pair/impair et j'ai obtenu soit a pair, b pair et c pair ou alors un seul pair sur les 3 mais il en faut au moins 2. D'ou le résultat.

Terces
05-01-2016 10:57:11

Re,
c'est pas mal ca^^ enfin ca peut quand même se faire rapidement à la "main" mais bon c'est un petit gain de temps, en tout cas et pour le moment c'est le seul avantage que je lui vois comparé à nos précédents programmes.

J'ai un peu cherché hier soir et comme la dit freddy on ne va pas réinventer la "roue" donc sur le net j'ai trouvé ce théorème :
c'est sur les triangles dit héronien :http://villemin.gerard.free.fr/Wwwgvmm/Esoteris/Heronien.htm
j'ai donc posé :
a²+c² = n.(m²+k²)
a²+b² = m.(n²+k²)
b²+c² = (m+n)(m.n-k²)

Et ainsi je trouves :
a² = k².(m+n)
b² = -(k²-m.n).n
c² = -k².m+m².n

De ces - expressions, on peut déjà déduire quelques éléments si je ne me trompe pas :
n est un carré
m est un carré
m+n est un carré

Je vais chercher de ce côté et je te tiens au courant.

yoshi
05-01-2016 08:41:45

Re,

Oh, mais moi aussi, j'apprends...
Python nous "cache" plein de choses.
Hier, j'ai découvert ça sur un site internet, et depuis le temps que je fouille à propos de Python, je l'avais encore jamais rencontré.
Donc essaie ça :
>>> from math import hypot
>>> hypot(5,12)

Tu n'as fait que survoler l'algo : moi, il y a une chose qui m'a surprise.
D'habitude on demande
>>> from math import sqrt
>>> sqrt(5)
2.23606797749979
>>>
Si tu essaies :
>>> 5.sqrt()
SyntaxError: invalid syntax

Et pourtant, tu quittes Python et tu le relances et tu ressaies :
>>> from decimal import Decimal, getcontext
>>> getcontext.prec=100
>>> Decimal(5).sqrt()
2.236067977499789696409173668731276235440618359611525724270897245410520925637804899414414408378782275

Je me suis longtemps demandé comment il se faisait qu'on avait accès à sqrt sans l'importer...
Dans le module math, sqrt() est une fonction qui reçoit un argument.
Dans le module decima,l soit dans la classe Decimal, soit dans getcontext, il doit y avoir un sqrt qui n'est plus une fonction mais une méthode, d'où l'emploi Decimal(5).sqrt(), mais aussi la même fonction (aussi restrictive) que dans le module math :
>>> sqrt(Decimal(5))
2.23606797749979
Ce n'est qu'une hypothèse bâtie sur les constats précédents...

@+

Terces
04-01-2016 23:38:28

Re,
Merci pour l'algo, cet apre(s )m(idi) j'avais commencé à voir cette méthode intéressante mais bon je n'avais pas réussi à l'appliquer sur mon programme.
C'est intéressent de "travailler" à deux en tout cas, j'apprends "plein" de choses.
Avec tout ca, je n'ai pas cherché de mon côté depuis longtemps, je te tient au courant s'il me vient une illumination ce qui a une probabilité faible d'arriver mais non nulle...
En tout cas je vais faire tourner ton programme en attendant, car pour le moment on ne sait pas s'il y a solution ou non.

yoshi
04-01-2016 20:57:23

Re,

160104085142670474.png
Jusqu'à [tex]4S^2=BC^2(OA^2+OH^2)[/tex]
Tout est juste.
A partir de là, pour que 4S² soit le carré d'un entier condition nécessaire pour que S le soit, [tex]BC^2[/tex] étant le carré d'un entier, il faut que [tex]OH^2+OA^2[/tex] le soit aussi.
[tex]OA^2[/tex] étant le carré d'un entier, il faut que [tex]OH^2[/tex] le soit aussi !
J'ai testé les OH entiers possibles avec Python, il y en a beaucoup...
Et de plus OA OB, OC tous pairs...
Donc la condition nécessaire n'est pas suffisante, tant s'en faut !

@+

yoshi
04-01-2016 16:21:39

Re,

Ce qui signifierait que (OH)⊥(OA)
Et puisque H a été choisi tel que (OH)⊥(BC)
On en déduirait que (OA)//(BC) ce qui est impossible.

Je t'ai laissé entendre que c'est faux et que de plus il y a une erreur encore en amont...
Que OHA soit tel que OH^2+OA^2 soit un carré ne prouve pas que AH soit tel que AH²=OA²+OH². En fait, on ne sait rien de AH...
Exemple OH=3, OA=4 et AH=2. Tu peux construire un tel triangle qui n'est pas rectangle puisque AH² n'est pas égal à OH²+OA²...
De toutes façons, 3 points distincts forment toujours un plan, mais dans l'espace ce plan est distinct du plan (ABC)...

le tétraèdre considéré est tri rectangle en O : les seuls triangles rectangles qui le composent par définition sont AOB, AOC, et BOC rectangles en O.

#!/usr/bin/python
# -*- coding: utf-8 -*

from time import time
from decimal import Decimal, getcontext
getcontext().prec=20

def cotes(S,a,n):
    b=(a*a-n*n)//(2*n)
    c=b+n
    S.append(b)
    return S

min_a,max_a=39101,39201
td=time()
for a in range(min_a,max_a):
    S=[]
    for n in range(1,a):
        if (a+n)*(a+n) >= 2*a*a:
            break
        if a%2==0:
            if (a*a)%(2*n)==0 and n%2==0:
                cotes(S,a,n)
        else:
            if (a*a)%n==0 and (a*a)%(2*n)!=0:
                cotes(S,a,n)

    for b1 in S:
        for b2 in S:
            if b1<b2:
                c3=Decimal(b1**2+b2**2).sqrt()
                if c3%1==0:
                    s1,s2,s3=(a*b1)//2,(a*b2)//2,(b1*b2)//2
                    s4=s1**2+s2**2+s3**2
                    s=Decimal(s4).sqrt()
                    print (a,b1,b2)
                    print ("   ",s1,s2,s3,"     ",s)
                    print ()
                    if float(int(s))==s:
                        print ("ok ! ", "OA =",a,"OB =",b1,"OC =",b2)

print(time()-td)

Affichage :
1ere ligne : OA, OB, OC
2e ligne [tex]S_{OAB},\; S_{OAC},\;S_{OBC}, \;S_{ABC}[/tex]

>>>
39104 40185 124080
    785697120 2426012160 2493077400       3566271146.0620769798

39105 386152 644640
    7550236980 12604323600 124464512640       125328727587.01572428

39116 104013 213360
    2034286254 4172894880 11096106840       12028090423.979957448

39120 41076 44825
    803446560 876777000 920615850       1503927466.9265323648

39160 104130 213600
    2038865400 4182288000 11121084000       12055165464.203183636

39185 60852 331920
    1192242810 6503142600 10098997920       12070711063.648892698

39195 150348 1273536
    2946444930 24958121760 95736795264       98980419007.668183503

39200 137256 190080
    2690217600 3725568000 13044810240       13830553201.357587692

39200 134400 194040
    2634240000 3803184000 13039488000       13835883644.263563985

39200 56595 194040
    1109262000 3803184000 5490846900       6770824942.4822386261

39200 49140 53625
    963144000 1051050000 1317566250       1941219536.8826943938

2.390625

@+

Terces
04-01-2016 16:01:31

Salut,
Le triangle OHA n'est-il pas rectangle par définition du triangle trirectangle ? étant donné que H appartient au plan OBC.

Dans ce cas je reviens sur la fin de ta démonstration :

Ce qui signifierait que (OH)⊥(OA)
Et puisque H a été choisi tel que (OH)⊥(BC)
On en déduirait que (OA)//(BC) ce qui est impossible.

Or on sait que (OH)⊥(OA) donc n'y a-t'il pas une incohérence dans le "On en déduirait que (OA)//(BC)"

Après, vu que tu travailles sur un développé, je ne sais pas si ce que je dis est toujours "vrai".

yoshi
04-01-2016 08:35:28

Salut,

D'accord, pour ma conclusion finale, je suis obligé de passer par l'espace.
Mais Fred, que j'ai sollicité, m'a fait une objection qui vient avant le pseudo parallélisme :
Pourquoi si [tex]OA^2+OH^2 [/tex] est est un carré parfait, le triangle OHA est-il rectangle en O.?
Objection retenue : je peux prendre 2 pour AH, et j'aurai encore un triangle mais il ne sera pas rectangle...

Je cherche.
----------------------------------------------------------
Quant à l'astuce, c'est un module supplémentaire de Python, délicat à manier : le module decimal.
Tu peux demander un calcul sur 2000 décimales si tu veux (j'ai essayé). Et la fonction racine carrée existe aussi dans ce module.
En forçant le calcul avec x décimales de la racine de ton aire, tu forceras ipso facto, l'obtention de la partie entière exacte de la racine...

Et si cette racine est entière, il y aura x décimales égales à 0...
Je vais m'absenter, je te donnerai plus de détails plus tard
Voir déjà :
http://python.jpvweb.com/mesrecettespyt … th_decimal
https://docs.python.org/2/library/decimal.html

@+

Terces
03-01-2016 22:42:21

Re,
de toute façon même dans l'espace je ne vois pas comment (OA) pourrait être // à (BC)
mais bon je trouves pour le moment un peu bizarre que on puisse se servir d'un patron pour ce genre de questions, OA est perpendiculaire à OA' mais dans l'espace ils sont parallèles confondus, enfin je relirais ce que tu as écrit plus calmement demain.

PS : pour python et le problème de l'arrondi, je n'ai pas encore essayé mais peut-être qu'un ABC-floor(ABC) réglerait le problème, à voir... J'attends toujours ton astuce ;)

yoshi
03-01-2016 19:51:04

Me rev'la,

Terces, les développés, c'est 6e-3e...
3OA ? Nan ! 2 seulement ! et 2 OB, 2 AB et 2 AC aussi..
Imagine ton tétraèdre (en papier)  de sommet O "en l'air", la base ABC sur le plan...
Je fends le tétraèdre le long des segments [AB] et [AC], pas [BC] que je prends comme charnière.
Maintenant tu as un couvercle qui comprend les faces OAB, OAC et OBC, lequel couvercle pivote autour de [BC]...
OK ?
Maintenant je fends le long du segment [OA].
Maintenant tu peux complètement déplier ton tétraèdre et toutes les faces seront à plat...
Tu es choqué parce qu'il y a 2 segments [OA] ?
Je raisonne sur la figure plane et sur les aires qui sont les mêmes que ce soit dans le plan et dans l'espace.
Qu'est-ce que ça change pour l'aire de OBC qu'elle soit dans le plan ou dans l'espace ?
Si dans le plan (OBC) je trace la hauteur [OH] ce plan peut bien avoir n'importe quelle "orientation", la hauteur restera la hauteur.
Il y 3 points A : j'aurais pu dans le sens trigo, en partant du haut les nommer A, A', A" quand tu vas reformer ton tétraèdre à partir du développé, ça n'empêchera pas les côtés [OA] et [OA'] de coïncider, les côtés [BA'] et [BA'"] de coïncider, les côtés {AC] et [A"C] de coïncider, ainsi que les points A, A', A" (voilà un nouveau dessin)...
160103081609593905.jpg
Ça change quoi par rapport au post # que maintenant figurent A, A' et A" ? [OA] et [OA'], [A'B] et [A"B], [AC] et [A"C]...

Pour réaliser un développement, sur le tétraèdre en papier, je suis passé 3 fois sur le point A avec mon cutter (ou ma paire de ciseaux)
le long de [OA]
le long de [BA]
le long de [CA]
Si tu prends l'image, que tu l'imprimes et que tu découpes le long du contour, tu vas pouvoir refaire ton tétraèdre et faire coïncider [OA...
[OA] est coupé en deux : une partie va avec le tr. OAB, l'autre avec OAC...


@+

Terces
03-01-2016 17:23:05

Hum j'ai du mal à comprendre la fin.
Dans ton développé il y a 3 OA... ca me perd un peu, je n'ai jamais utilisé les développés pour démontrer. Je ne comprends pas comment on peut faire ce raisonnement sur le développé sachant que il y a des espaces entre les segments qui n'existent pas ce qui nous ramène donc si on les élimine à la figure dans l'espace.

yoshi
03-01-2016 17:03:13

Salut,

"Ce qui signifierait que (OH)⊥(OA)(OH)⊥(OA)
Et puisque H a été choisi tel que (OH)⊥(BC)(OH)⊥(BC)
On en déduirait que (OA)//(BC) ce qui est impossible."

Vu qu'on est dans l'espace ces droites ne sont pas forcément parallèles non ?

Oui... mais moi je travaille sur mon "développé", mon "patron" si tu préfères et lui, il est dans un plan.
Donc, cette démo ?

@+

Pour passer outre, la limitation Pythonesque je t'explique à mon retour

Terces
03-01-2016 17:00:56
yoshi a écrit :

Re,


Je pense que je tiens la bonne piste.
Je crois que tu as écrit quelque part que le carré de l'aire de ABC est la somme des carrés des aires des triangles OAB, OAC et OBC...
Donc une somme de 3 carrés.
A ce propos j'ai trouvé ceci : https://fr.wikipedia.org/wiki/Th%C3%A9o … arr%C3%A9s
ou encore (mais là, j'ai tendance à nager la brasse coulée) :
https://www.math.ens.fr/enseignement/te … ichier=537

Revenons à ma piste. Je vais essayer quelque chose que tu vas chercher à démolir (ce sera ton boulot !)...
Soit [OH] la hauteur issue de A dans le triangle OBC (*).
[tex]S²=\frac 1 4(OA^2OB^2)+\frac 1 4(OA^2OC^2)+\frac 1 4(OB^2OC^2)[/tex]
D'où
[tex]4S²=OA^2OB^2+OA^2OC^2+OB^2OC^2[/tex]
Si 4S² est un carré parfait, alors S² aussi.
[tex]OA^2OB^2+OA^2OC^2+OB^2OC^2=OA^2(OB^2+OC^2)+OB^2OC^2=OA^2BC^2+OB^2OC^2[/tex]
Relations métriques dans le triangle
OB.OC=OH.BC donc [tex]OB^2.OC^2=OH^2.BC^2[/tex]
Je remplace :
[tex]OA^2OB^2+OA^2OC^2+OB^2OC^2=OA^2BC^2+OB^2OC^2=OA^2.BC^2+OH^2.BC^2= BC^2(OA^2+OH^2)[/tex]
Donc 4S² n'est un carré parfait que si OA²+OH² l'est aussi !
Ce qui signifierait que [tex](OH)\perp (OA)[/tex]
Et puisque H a été choisi tel que [tex](OH)\perp(BC)[/tex]
On en déduirait que (OA)//(BC) ce qui est impossible.
Donc OA²+OH² n'est pas un carré parfait donc 4S² non plus, donc [tex]S²_{ABC}[/tex] non plus.

@+

[EDIT] (*) Rectification : issue de O, bien sûr !

Re,
quand tu dis :

"Ce qui signifierait que [tex](OH)\perp (OA)[/tex]
Et puisque H a été choisi tel que [tex](OH)\perp(BC)[/tex]
On en déduirait que (OA)//(BC) ce qui est impossible."

Vu qu'on est dans l'espace ces droites ne sont pas forcément parallèles non ?

PS: comment ne pas être limité par l'approximation de python ?

yoshi
03-01-2016 14:48:24

Re,

Je me suis encore fait piéger par la racine carrée "standard"...
J'ai trouvé une astuce.

Ça me rassure : ça démolissait ma démo !

@+

Pied de page des forums