Le théorème de Brianchon (1806)

Bonjour,

une solution ingénieuse peut résoudre aisément ce problème...

1. 1 un cercle
2. PQRSTU un hexagone inscrit dans 1
3. ABCDEF l’hexagone tangentiel de PQRSTU.

Question : (AD), (BE), (CF) sont concourantes.

Sincèrement
Jean-Louis

Réponses

  • Bonjour,
    % Jean-Louis Ayme - 12 Janvier 2025 - Le théorème de Brianchon (1806)
    
    clear all, clc
    
    syms p q  r s t u
    
    pB=1/p; qB=1/q; rB=1/r; sB=1/s; tB=1/t; uB=1/u;
    
    [a aB]=IntersectionDeuxDroites(pB,p,-2,qB,q,-2); % Point A
    % On trouve a=2*p*q/(p+q)  De même:
    b=2*q*r/(q+r); c=2*r*s/(r+s); d=2*s*t/(s+t); e=2*t*u/(t+u); f=2*u*p/(u+p);
    bB=2*qB*rB/(qB+rB); cB=2*rB*sB/(rB+sB); dB=2*sB*tB/(sB+tB); eB=2*tB*uB/(tB+uB); fB=2*uB*pB/(uB+pB);
    
    [pad qad rad]=DroiteDeuxPoints(a,d,aB,dB); % Droite (AD)
    Fact=(p+q)*(s+t)/2; % Facteur de simplification
    pad=Factor(Fact*pad); qad=Factor(Fact*qad); rad=Factor(Fact*rad);
    % On trouve pad=p+q-s-t, qad=p*q*s+p*q*t-p*s*t-q*s*t, rad=2*(s*t-p*q)
    [pbe qbe rbe]=DroiteDeuxPoints(b,e,bB,eB); % Droite (BE)
    [pcf qcf rcf]=DroiteDeuxPoints(c,f,cB,fB); % Droite (CF)
    
    Nul=Factor(det([pad qad rad; pbe qbe rbe; pcf qcf rcf]))
    % On trouve Nul=0 donc c'est gagné
    Cordialement,
    Rescassol

  • Vassillia
    Modifié (12 Jan)
    Bonjour, même méthode que le fil précédent https://les-mathematiques.net/vanilla/discussion/2339781/newton-1686 car c'est quand même très facile et très joli.

    Les points $P$, $Q$, $R$, $S$, $T$ et $U$ vont être paramétrés par des complexes de module $1$, ce qui donne en coordonnées inclusives $P\simeq (p:1:1/p)$ ; $Q\simeq (q:1:1/q)$ ; $R\simeq (r:1:1/r)$, $S\simeq (s:1:1/s)$, $T\simeq (t:1:1/t)$. et $U\simeq (u:1:1/u)$.
    Si $M\simeq (z:t:\zeta)$ appartient au même cercle, il vérifie l'équation $z \zeta =t^2$ autrement dit $cer \simeq \left(\begin{array}{rrr} 0 & 0 & 1 \\ 0 & -2 & 0 \\ 1 & 0 & 0 \end{array}\right)$ puisque $^t M \cdot cer \cdot M=0$ redonne la même équation.

    On calcule les tangentes comme des polaires c'est à dire $tanP\simeq ^t P \cdot cer =[1,-2p,p^2]$ et de même pour les autres tangentes.

    On calcule les points d'intersections avec le fameux wedge c'est à dire $A \simeq tanP\wedge tanQ \simeq (2pq:p+q:2)$ et de même pour les autres points

    Et enfin on constate que $det(A\wedge D,B\wedge E,C\wedge F)=0$ donc les droites sont concourantes en un point qu'il est inutile de calculer mais qui se trouve si besoin en $ \left(-2 \, p q r s + 2 \, q r s t + 2 \, p q r u - 2 \, p q t u + 2 \, p s t u - 2 \, r s t u:\,-p q s - p r s - p q t + q r t + p s t + q s t + p r u + q r u + p s u - r s u - q t u - r t u:\,-2 \, p q + 2 \, q r - 2 \, r s + 2 \, s t + 2 \, p u - 2 \, t u\right)$
    Plus de détails sur les coordonnées inclusives si demandé ( voir aussi https://les-mathematiques.net/vanilla/discussion/727099/geometrie-projective-pour-agregatifs )

    Edit : synchronisation presque parfaite de mon message avec celui de Rescassol que je traduis donc à nouveau sans le savoir, nous sommes peut-être devenus telepathes, classe...

    La philosophie nous enseigne à douter de ce qui nous paraît évident. La propagande, au contraire, nous enseigne à accepter pour évident ce dont il serait raisonnable de douter. (Aldous Huxley)
  • Bonjour,
    un petit rappel historique :

    nn 1806, Charles Julien Brianchon publie dans le XIIe Cahier du Journal de l'École Polytechnique un résultat qui aujourd'hui porte son nom. Il obtenait ce résultat en appliquant le concept de polaire à "l'hexagramme mystique" de blaise Pascal. 
    Au XXe siècle, une compétition entre géomètres s'est développée pour trouver une démonstration synthétique du théorème de Brianchon. (ma question)

    Sincèrement
    Jean-Louis



  • Bonjour à tous,
    Il n'y a aucune raison de s'arrêter en si bon chemin, n'est-ce pas ? Alors, pour la suite, je vous propose ...


    Quel théorème peut-on invoquer pour justifier l'existence des points de concours J, K et L ?
    Bien amicalement, Jean-Louis B.
    PS Je vous prie de m'excuser d'avoir échangé les noms des points par rapport aux définitions de JLAyme ...
  • Vassillia
    Modifié (12 Jan)
    Je t'ai donné les tangentes @jelobreuil et je te rappelle qu'une droite passant par 2 points est le wedge de ces points et un point d'intersection entre 2 droites est le wedge de ces droites.
    Et si tu essayais toi même de faire une démonstration basée sur le fait que les règles d'addition et de multiplication sont une valeur fiable en maths  Allez, tu as bien réussi à me faire faire de la géométrie synthétique une fois où deux, je peux bien réussir à te faire faire de la géométrie analytique aussi. N'hésite pas à utiliser sage en ligne et la commande u.cross_product(v) pour avoir $u \wedge v$. Tu verras, après tu ne pourras plus t'en passer ...
    La philosophie nous enseigne à douter de ce qui nous paraît évident. La propagande, au contraire, nous enseigne à accepter pour évident ce dont il serait raisonnable de douter. (Aldous Huxley)
  • @vassillia, Désolé de te décevoir, mais faire de la géométrie analytique à ce niveau est absolument hors de mes très  modestes capacités en la matière, qui ne dépassent pas le b.a.ba de la géométrie en coordonnées cartésiennes, dans un repère orthonormé qui plus est ... Alors, utiliser Sage en ligne ... 
    Mais grand merci quand même, tes encouragements, bien qu'improductifs (mais ce n'est pas de ta faute !), me font bien plaisir !
    Bien amicalement, JLB.
  • Bonjour Jean-Louis B.

    pour J, K, L

    lorsque deux triangles ont deux angles respectivement égaux et deux angles supplémentaires,
    les côtés opposés aux angles égaux 
    sont proportionnels 
    aux côtés opposés aux angles supplémentaires...

    Sincèrement
    Jean-Louis

  • Vassillia
    Modifié (12 Jan)
    Mais si, mais si, c'est possible @jelobreuil, regarde, je te le fais pour cette fois.
    Je définis juste au début la fonction simple() qui consiste à factoriser chaque coordonnées puis à diviser par le facteur commun, elle est un peu compliquée mais c'est car j'en ai besoin pour autre chose, tu peux faire l'impasse dessus. Je m'en sers uniquement pour que les calculs ne deviennent pas trop lourds comme les points (et les droites) sont définis à un facteur global non nul près.
    def simple(vec,egal=None):
        vecsimple=zero_vector(SR,len(vec))
        num=numerator(vec[0]) ; den=denominator(vec[0])
        for n in [1..len(vec)-1]:
            num=gcd(num,numerator(vec[n]))
            den=lcm(den,denominator(vec[n]))            
        facteur=factor(num/den)        
        for n in [0..len(vec)-1]:
            vecsimple[n]=factor(vec[n]/facteur)
        if egal==None : return vecsimple
        else : return facteur*vecsimple        

    var('a b c d e f')
    A=vector([a,1,1/a]);B=vector([b,1,1/b]);C=vector([c,1,1/c]);D=vector([d,1,1/d]);E=vector([e,1,1/e]);F=vector([f,1,1/f])
    cer=matrix([[0,0,1],[0,-2,0],[1,0,0]])
    tanA=A*cer;tanB=B*cer;tanC=C*cer;tanD=D*cer;tanE=E*cer;tanF=F*cer
    P=tanA.cross_product(tanB);Q=tanB.cross_product(tanC);R=tanC.cross_product(tanD);S=tanD.cross_product(tanE);T=tanE.cross_product(tanF);U=tanF.cross_product(tanA)
    PQ=P.cross_product(Q);QR=Q.cross_product(R);RS=R.cross_product(S);ST=S.cross_product(T);TU=T.cross_product(U);UP=U.cross_product(P)
    A1=simple(PQ.cross_product(TU));B1=simple(UP.cross_product(QR));C1=simple(PQ.cross_product(RS));D1=simple(QR.cross_product(ST));E1=simple(RS.cross_product(TU));F1=simple(ST.cross_product(UP))
    A1D1=A1.cross_product(D1);B1E1=B1.cross_product(E1);C1F1=C1.cross_product(F1)
    PS=P.cross_product(S);QT=Q.cross_product(T);RU=R.cross_product(U)
    print(expand(det(matrix([PS,QT,RU]))))
    print(expand(det(matrix([RU,A1D1,C1F1]))))
    print(expand(det(matrix([PS,A1D1,B1E1]))))
    print(expand(det(matrix([QT,B1E1,C1F1]))))

    Si tu laisses tes à priori de coté, tu verras qu'il n'y a rien de compliqué surtout si tu parles un peu anglais, tu peux copier-coller sur https://sagecell.sagemath.org/ et cliquer sur evaluate

    PS : j'ai repris tes notations comme ça tu verras à chaque étape ce que je calcule, si tu ne poses pas de question, je considère que c'est car tu as tout compris sinon j'y répondrais volontiers ;)

    La philosophie nous enseigne à douter de ce qui nous paraît évident. La propagande, au contraire, nous enseigne à accepter pour évident ce dont il serait raisonnable de douter. (Aldous Huxley)
  • raoul.S
    Modifié (12 Jan)
    Un peu de refactoring de cette fonction "simple" qui est bien dégueu avouons-le :mrgreen:
    def simple2(vec,egal=False):
        num=gcd([numerator(n) for n in vec])
        den=lcm([denominator(n) for n in vec])
        facteur=factor(num/den)
        vecsimple = vector([factor(n/facteur) for n in vec])
        return vecsimple if not(egal) else facteur*vecsimple
    PS : ça devrait faire la même chose normalement...
  • Bonjour,

    Voilà ma fonction en Matlab:
    function P = SimplifieBary(M)
    
             % Simplifie le triplet de coefficients M
             % Un point "." devant un opérateur signifie
    		 % une opération terme à terme
    		 
             [N D]=numden(M);
             
             N=N/gcd(gcd(N(1),N(2)),N(3));
             M=lcm(lcm(D(1),D(2)),D(3));
             
             P=FactorT(N.*(M./D));
     end
    Cordialement,
    Rescassol

  • Vassillia
    Modifié (12 Jan)
    Ah ça je code sans avoir eu de formation donc de manière hyper brouillonne, c'est un fait avéré et c'est bien pour ça que je dis que c'est facile. Par contre, je veux par défaut obtenir la version sans le facteur, c'est à dire sans rien passer comme valeur dans egal, ça fonctionne dans ta version ? Si je dois passer false, c'est pénible à l'usage mais je testerai en rentrant ce soir, merci !
    La philosophie nous enseigne à douter de ce qui nous paraît évident. La propagande, au contraire, nous enseigne à accepter pour évident ce dont il serait raisonnable de douter. (Aldous Huxley)
  • Ok j'ai changé pour que par défaut egal est à False. Pour info je crois me souvenir qu'en Python les boucles for ne sont pas bien vues par les puristes.
    --------------------------------------------------------------------------------------
    La dernière fois que j'ai utilisé Matlab j'étais étudiant...
  • Vassillia
    Modifié (12 Jan)
    J'adopte simple2 ! 
    Tu te doutes peut-être de ce que je pense des puristes mais si c'est mieux, c'est mieux et ce que tu proposes est mieux.
    Tant que tu y es, sache que je suis capable de faire bien pire, par exemple, si j'ai une équation comme précédemment $z \zeta=t^2$ et que je veux récupérer la matrice correspondante et bien j'utilise la fonction suivante
     var('loc0 loc1 loc2')
    def coniqeq(eq):  #utiliser avec eq dependant de loc0 loc1 loc2
        m00=eq(loc1=0,loc2=0)
        m11=eq(loc0=0,loc2=0)
        m22=eq(loc0=0,loc1=0)
        m01=expand(eq(loc2=0)-m00-m11)
        m02=expand(eq(loc1=0)-m00-m22)
        m12=expand(eq(loc0=0)-m11-m22)
        return matrix([[m00/loc0^2,m01/(2*loc0*loc1),m02/(2*loc0*loc2)],[m01/(2*loc0*loc1),m11/loc1^2,m12/(2*loc1*loc2)],[m02/(2*loc0*loc2),m12/(2*loc1*loc2),m22/loc2^2]])
    avec le code
    var('z t zeta')
    eq=z*zeta-t^2
    mat=coniqeq(eq(z=loc0,t=loc1,zeta=loc2))
    Même moi je me rends compte que mon passage de variables est horrible et j'ai pourtant un seuil de tolérance très haut du genre "tant que ça marche, ça ira bien".
    Si tu as mieux, je veux bien, sachant que j'utilise un truc du même genre pour transformer un vecteur dont les coordonnées sont des polynômes de degré $2$
    $(ax^2+bx+c:dx^2+ex+f:gx^2+hx+i)$ en $\left(\begin{array}{rrr} a & b & c \\ d & e & f \\ g & h & i\end{array}\right)$
    La philosophie nous enseigne à douter de ce qui nous paraît évident. La propagande, au contraire, nous enseigne à accepter pour évident ce dont il serait raisonnable de douter. (Aldous Huxley)
  • pappus
    Modifié (12 Jan)
    Bonjour à tous
    Voici ma figure trainant dans mes archives depuis plus de vingt ans.
    Que les homothéties reposent enfin définitivement en paix.
    Les axiomes de Thalès et de Pythagore pour le synthétique et les Véronèses pour l'analytique nous suffisent amplement aujourd'hui!
    Amicalement
    pappus


  • raoul.S
    Modifié (12 Jan)
    @Vassillia Je ne crois pas qu'on puisse faire beaucoup mieux. J'ai demandé à Gemini par curiosité et il me sort un code qui n'est pas plus court que le tien.
  • Vassillia
    Modifié (12 Jan)
    Tant pis, merci quand même, j'aurais bien aimé supprimer les variables loc0,loc1 et loc2 pour les passer dans les paramètres mais je ne suis pas fichue de le faire correctement.
    La philosophie nous enseigne à douter de ce qui nous paraît évident. La propagande, au contraire, nous enseigne à accepter pour évident ce dont il serait raisonnable de douter. (Aldous Huxley)
  • Bonsoir,

    Vassillia, tu peux peut-être te baser sur cet exemple:
    def f(x):
        return x**2
        
    def g(x):
        return 2*x+1
        
    def test(fun,a):
        return fun(a)
        
    print(test(f,3))
    print(test(g,3))
    Cordialement,
    Rescassol

  • Bonsoir à tous
    Je cite à nouveau le théorème du Lebossé-Hémery que j'ai utilisé et qui a été curieusement modéré.
    Il est vrai qu'on est jamais trop prudent et que cet ouvrage n'est pas à mettre entre toutes les mains.
    Amicalement
    pappus


  • Vassillia
    Modifié (12 Jan)
    Certes @Rescassol ton idée est bonne, merci, mais je ne peux pas définir de fonction f et g comme toi car en général, j'obtiens l'équation ou le vecteur à transformer en matrice après des calculs ou alors il faudrait que je copie-colle mon résultat dans def ...
    Bon j'avoue que la technique du copier-coller m'arrive encore quand l'ordinateur fait sa mauvaise tête mais je cherchais à faire un truc automatisé et propre, jusqu'à nouvel ordre cela restera donc automatisé et sale, je m'en contenterai
    @pappus la modération n'a probablement rien fait, ton message est dans cet autre fil https://les-mathematiques.net/vanilla/discussion/comment/2514839/#Comment_2514839
    La philosophie nous enseigne à douter de ce qui nous paraît évident. La propagande, au contraire, nous enseigne à accepter pour évident ce dont il serait raisonnable de douter. (Aldous Huxley)
  • raoul.S
    Modifié (13 Jan)
    Vassillia a dit :
    j'aurais bien aimé supprimer les variables loc0,loc1 et loc2 pour les passer dans les paramètres
    J'ai regardé un peu la documentation de sage. On peut carrément supprimer loc0,loc1 et loc2

    def coniqeq(f):
        args = f.parent().arguments()  #retourne les arguments de la fonction f dans un tuple
        m00=f(args[0],0,0)
        m11=f(0,args[1],0)
        m22=f(0,0, args[2])
        m01=expand(f(args[0],args[1],0)-m00-m11)
        m02=expand(f(args[0],0,args[2])-m00-m22)
        m12=expand(f(0,args[1],args[2])-m11-m22)
        return matrix([[m00/args[0]^2,m01/(2*args[0]*args[1]),m02/(2*args[0]*args[2])],[m01/(2*args[0]*args[1]),m11/args[1]^2,m12/(2*args[1]*args[2])],[m02/(2*args[0]*args[2]),m12/(2*args[1]*args[2]),m22/args[2]^2]])

    var('z t zeta')
    eq=z*zeta-t^2
    mat=coniqeq(eq.function(z,t,zeta))
    le truc est d'utiliser la méthode "function" de l'objet eq en faisant f=eq.function(z,t,zeta) (voir dernière ligne) : en fait en faisant ça il te retourne une fonction f avec les arguments dans l'ordre que tu lui donnes, ici z,t,zeta.  Ce qui fait qu'en faisant f(1,2,3) par exemple, il va appeler ta fonction avec z=1, t=2 et zeta=3.

  • Bonsoir à tous
    Autant pour moi et toutes mes excuses aux modérateurs!
    Je me perds dans toutes ces discussions!
    C'est dire mon état mental proche du zéro absolu.
    Ces défuntes homothéties se retrouvent donc dans deux discussions différentes, cela ne peut leur faire beaucoup de mal dans l'état où elles sont!
    Amicalement
    pappus
  • Chaurien
    Modifié (13 Jan)
    @Jean-Louis Ayme a bien raison d'évoquer ce théorème de Brianchon, qu'on connaissait de nom, sans bien lui prêter attention. Ceci nous  permet d'évoquer Charles-Julien  Brianchon (1783-1864), mathématicien et artilleur, à jamais célèbre pour une découverte, comme Félix Arvers pour son sonnet.
    Il est bien connu qu'une fois établi le théorème de l'hexagone de Pascal, le théorème de Brianchon en découle immédiatement par polarité-dualité, six lignes dans le Lebossé-Hémery de Math-Elem, p. 224. Plusieurs sources pointent la bizarrerie de la situation qui fait que plus de cent cinquante ans séparent ces deux théorèmes. 
    J'ai regardé rapidement dans plusieurs ouvrages : F. J,, Coxeter, Hadamard, Papelier, Lebossé-Hémery, et ils donnent la démonstration sur le même principe.
    @Jean-Louis Ayme nous dit qu'au XXe siècle, une compétition entre géomètres s'est développée pour trouver une « démonstration synthétique » de ce théorème. J'aimerais bien en savoir plus sur cette question. Pour moi, les démonstrations que j'ai vues sont des démonstrations géométriques, faisant intervenir les objets et les concepts de la géométrie, et s'exprimant en français (ou dans une autre langue du monde). En fait, j'ai le sentiment de ne pas savoir ce qu'est au juste une « démonstration synthétique ».
    Bonne journée.
    Fr. Ch.
  • Vassillia
    Modifié (13 Jan)
    Merci @raoul.S c'est exactement ce que je voulais !
    Quand j'utilise, comme dans ce fil, les termes "géométrie synthétique", c'est pour dire une démonstration n'utilisant pas les coordonnées mais je ne sais pas si c'est le sens communément admis.
    La philosophie nous enseigne à douter de ce qui nous paraît évident. La propagande, au contraire, nous enseigne à accepter pour évident ce dont il serait raisonnable de douter. (Aldous Huxley)
  • @Chaurien, bonjour, dans ce contexte, "synthétique" s'oppose à "analytique", tout simplement, ce qui est une autre façon de dire la même chose que @Vassillia ...
    Bien amicalement, JLB
  • Chaurien
    Modifié (13 Jan)
    Si « démonstration synthétique » signifie « démonstration qui n'utilise pas les coordonnées », alors la démonstration habituelle du théorème de Brianchon à partir du théorème de l'hexagone de Pascal entre dans cette catégorie, et il n'est alors pas nécessaire d'en « trouver une démonstration synthétique », puisqu'on en a déjà une. Il vaut mieux dire : « trouver une autre démonstration synthétique », ce qui n'est pas sans intérêt : ce ne serait pas le seul théorème à démonstrations multiples. C'est peut-être à cela que fait allusion  @Jean-Louis Ayme. Il me semble avoir vu passer une allusion à une démonstration avec axe radical, dans le cas du cercle, mais je n'ai pas vu la démonstration elle-même. 
    Si j'ai bien suivi, « démonstration analytique » signifie alors : « démonstration avec recours aux coordonnées ». ce qu'on appelait naguère « géométrie analytique ». De nombreux traités portent ce titre.
    Ces deux types de démonstration se rédigent en français (ou dans une autre langue du monde), avec plus ou moins de calculs. Les suites de dizaines de lignes en langage de machine qu'on nous donne aussi en guise de démonstration constituent probablement un troisième type de démonstration.
    Bonne après-midi.
    Fr. Ch.

  • Vassillia
    Modifié (13 Jan)
    Les démonstrations lignes en language machine présentes sur ce fil sont toutes analytiques. D'ailleurs ce que j'ai écrit en français dans mon premier message est exactement la même chose que ce que j'ai écrit en ligne en language machine pour jelobreuil. Quand j'écris déterminant d'une matrice 3x3, on sait toutes et tous le faire en théorie. Mais quand les coefficients sont composés de plusieurs variables, c'est pénible voire impossible à faire à la main. Il faut vraiment voir l'ordinateur, dans ce contexte, comme une calculatrice qui peut travailler avec des variables et donc factoriser, développer... ni plus ni moins.
    La philosophie nous enseigne à douter de ce qui nous paraît évident. La propagande, au contraire, nous enseigne à accepter pour évident ce dont il serait raisonnable de douter. (Aldous Huxley)
  • Brianchon c'est dans les Alpches ?
  • C'est dans les Baches Alpes :D
  • Bonsoir,

    Il n'est effectivement pas facile de définir ce que peut être une "démonstration synthétique"... Même s'il est à peu près clair qu'une démonstration faisant appel aux coordonnées (qu'elle soit "à la main" ou "par ordinateur") peut légitimement être qualifiée de "démonstration analytique".

    La notion de "synthétique" dépend des époques et du goût personnel des intervenants ! Et on aboutit alors à l'idée, plus ou moins précise elle aussi, de "géométrie (plus ou moins) pure"... Pour certains il convient de se restreindre à des propriétés qui ne font même pas appel à des calculs ou à des transformations...

    Ce qui peut être intéressant à propos du théorème de Brianchon, c'est que l'on trouve dans d'autres vieux grimoires que ceux que l'on cite habituellement dans ce forum une démonstration qui peut être qualifiée de "plus pure" que les autres, au sens où elle ne fait appel qu'à des propriétés très simples d'incidence.

    La trame est résumée dans le message suivant...

    Cordialement,

    Casagrande

  • Commençons par placer le cercle dans un plan horizontal : 
    et notons le lemme suivant : 

    Si, dans les plans verticaux situés au-dessus des tangentes en deux points a et b on trace des obliques faisant des angles opposés avec l'horizontale, ces deux droites sont coplanaires. En effet, si a et b sont diamétralement opposés, elles sont parallèles, et si ce n'est pas le cas, elles se coupent en un point qui se projette au point m intersection des deux tangentes.

    Complétons alors la figure initiale en considérant alternativement de telles obliques au-dessus des tangentes formant l'hexagone : 

    Il suffit alors de remarquer que l'on a affaire à trois plans A'F'D'C', F'E'C'B' et A'B'D'E' qui se coupent évidemment en trois droites concourantes A'D', F'C' et B'E'... dont les projections sur le plan initial ne sont autres que les diagonales étudiées dans le théorème de Brianchon...
  • Swingmustard
    Modifié (13 Jan)
    Super. Quelqu'un se lance pour le patron de la cocotte bleue ?
    Amicalement,
    Swingmustard
  • Bonjour, $\def\etc{,\:\mathrm{etc}} \def\wedt{\underset{3}{\bigwedge}}$ Il y a deux questions à se poser: (1) les concours annoncés ont-ils lieu ? ; (2) ces concours donnent-ils une preuve du thm de Brianchon?
    1. On se donne les six points $P,Q,R,S,T,U$ selon: $P\simeq2p:1-p^{2}:0:1+p^{2}$, le plan de l'infini étant $\left[0,0,0,1\right]$.
    2. Comme l'on sait, ces points se situent sur la conique $\left[\begin{array}{ccc} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & -1 \end{array}\right]$ du plan $z=0$.
    3. Et maintenant, "on sait" que la tangente en $P$ (dans le plan $z=0$) s'obtient par polarisation. On obtient (dans le plan $z=0$), les droites $\tan_{P}\simeq\left[2p,-p^{2}+1,-p^{2}-1\right]$.
    4. On coupe $\tan_{P}$ et $\tan_{Q}$ (dans le plan $z=0$) et l'on vient se placer à la verticale de ce point. On obtient: \[ A_{PQ}\simeq p+q:1-pq:z_{PQ}:1+pq\etc \] où les $z_{PQ}$ sont à déterminer.
    5. On vérifie que l'on peut déterminer les $z_{j}$ pour que $Q\in A_{PQ}A_{QR}$. On commence par utiliser la procédure $mkladr$ pour obtenir $A_{PQ}\wedt A_{QR}\simeq$ \[ \left[\begin{array}{cccc} 0 & \left(z_{PQ}r-pz_{QR}\right)q-z_{QR}+z_{PQ} & 2\left(p-r\right)q & *\\ \left(pz_{QR}-rz_{PQ}\right)q+z_{QR}-z_{PQ} & 0 & \left(r-p\right)\left(q^{2}-1\right) & *\\ 2\left(r-p\right)q & \left(p-r\right)\left(q^{2}-1\right) & 0 & *\\ \left(pz_{QR}-rz_{PQ}\right)q-z_{QR}+z_{PQ} & \left(z_{QR}-z_{PQ}\right)q+pz_{QR}-rz_{PQ} & \left(r-p\right)\left(q^{2}+1\right) & 0 \end{array}\right] \] Puis on passe à $\left(A_{PQ}\wedt A_{QR}\right) \cdot Q=0:0:0:0$. Ces équations sont compatibles entre elles et donnent $A_{PQ}\etc\simeq$ \[ \left[\begin{array}{c} p+q\\ 1-pq\\ z_{0}\left(p-q\right)\\ 1+pq \end{array}\right]\left[\begin{array}{c} q+r\\ 1-rq\\ -z_{0}\left(q-r\right)\\ 1+rq \end{array}\right]\left[\begin{array}{c} r+s\\ 1-rs\\ z_{0}\left(r-s\right)\\ 1+rs \end{array}\right]\left[\begin{array}{c} s+t\\ 1-st\\ -z_{0}\left(s-t\right)\\ 1+st \end{array}\right]\left[\begin{array}{c} t+u\\ 1-tu\\ z_{0}\left(t-u\right)\\ 1+tu \end{array}\right] \left[\begin{array}{c} u+p\\ 1-up\\- z_{0}\left(u-p\right)\\ 1+up \end{array}\right] \]
    6. On calcule les diagonales $\Delta_{P}=A_{PQ}\wedt A_{ST}\etc$. On vérifie qu'elles incident les unes avec les autres (Klein). Mieux encore, elles ont un point commun (procédure $cutdr$). On a $U\simeq$ \[ \left[\begin{array}{c} \left(pqt+prs+rtu-pru-pst-qrt\right)+\left(pqs+qtu+rsu-psu-qru-qst\right)\\ \left(pq-pu-rq+rs-st+tu\right)-\left(pqrs-pqru+pqtu-pstu-qrst+rstu\right)\\ z_{0}\left(\left(pqt+prs+rtu-pru-pst-qrt\right)-\left(pqs+qtu+rsu-psu-qru-qst\right)\right)\\ \left(pq-pu-rq+rs-st+tu\right)+\left(pqrs-pqru+pqtu-pstu-qrst+rstu\right) \end{array}\right] \]
    7. Il reste à faire $z_{0}=0$ et à battre des mains. N'a-t-on pas prouvé Brianchon ?
    Cordialement, Pierre.

  • Jean-Louis Ayme
    Modifié (24 Jan)
    Bonjour,

    une figure sans parole permettant d'aboutir...

    Sincèrement
    Jean-Louis
  • Bonjour,
    Pour vérifier que j'ai compris le commentaire de Vassillia plus haut, je code en sagemath
    ________________________________
    def H(A,B):
        return A.cross_product(B)
    def simple(vec) :   
        num=gcd([numerator(vec[0]), numerator(vec[1]), numerator(vec[2])])
        den=lcm([denominator(vec[0]),denominator(vec[1]),denominator(vec[2])])
        facteur=num/den
        vec0=factor(vec[0]/facteur)
        vec1=factor(vec[1]/facteur)
        vec2=factor(vec[2]/facteur)
        vecteur=vector([vec0,vec1,vec2])
        return vecteur

    var('p q r s t u')
    P=vector([p,1,1/p])
    Q=vector([q,1,1/q])
    R=vector([r,1,1/r])
    S=vector([s,1,1/s])
    T=vector([t,1,1/t])
    U=vector([u,1,1/u])
    pyth=matrix([[0,0,1],[0,-2,0],[1,0,0]])
    tanP=p*P*pyth
    tanQ=q*Q*pyth
    tanR=r*R*pyth
    tanS=s*S*pyth
    tanT=t*T*pyth
    tanU=u*U*pyth

    A=H(tanU,tanP)
    B=H(tanP,tanQ)
    C=H(tanQ,tanR)
    D=H(tanR,tanS)
    E=H(tanS,tanT)
    F=H(tanT,tanU)

    AD=H(A,D)
    BE=H(B,E)
    CF=H(C,F)
    print(factor(det(matrix ([AD,BE,EF]))))
    _________________________________________
    qui me donne Brianchon.$\square$
    Cordialement
  • stfj
    Modifié (25 Jan)
    Comme Brianchon n'est que le dual de Pascal, je trouve utile de donner $$AD\wedge BE=-2pqrs + 2qrst + 2pqru - 2pqtu + 2pstu - 2rstu: -p*q*s - p*r*s - p*q*t + q*r*t + p*s*t + q*s*t + p*r*u + q*r*u + p*s*u - r*s*u - q*t*u - r*t*u: -2*p*q + 2*q*r - 2*r*s + 2*s*t + 2*p*u - 2*t*u$$

Connectez-vous ou Inscrivez-vous pour répondre.