Dessiner l’alternative de Steiner

Bonjour,

je voudrais savoir comment on fait pour dessiner l’alternative de Steiner (plus précisément, des chaînes de Steiner fermées) à l’aide d’un ordinateur.

La seule idée que j’aie est la suivante : on part d’un grand cercle, et mettons que l’on veuille une chaîne de longueur $5$. Avec des calculs, on trouve le rayon des cercles de la chaîne qui est euclidiennement symétrique, puis le rayon du cercle intérieur. Et là, comment appliquer l’isométrie du puisque hyperbolique qui envoie le cercle intérieur sur un autre, pour avoir une jolie image dissymétrique (enfin, anallagmatiquement symétrique mais pas euclidiennement symétrique) ? Il me semble bien que le centre de l’image d’un cercle n’est pas l’image du centre du cercle. Mais, par contre, si on trouve suffisamment de points sur nos cercles (au moins trois par cercle), et qu’on calcule leurs images, on peut recomposer les cercles images.

C’est quand même compliqué, tout ça ! Il n’y a pas plus simple ?

Réponses

  • verdurin
    Modifié (January 2024)
    Bonsoir, une idée peut-être un peu bête : on part de la configuration où les cercles extérieurs et intérieurs sont concentriques. Puis on fait une inversion bien choisie.
  • Mon cher Georges Abitbol
    Avant de faire la moindre figure que ce soit, il y a une condition de fermeture à trouver pour que la configuration soit possible.
    L'idée est toujours la même: transformer les deux cercles de départ entre lesquels on veut former cette chaine de cercles tangents en deux cercles concentriques. Il va sans dire que cette transformation parfaitement banale autrefois est devenue impossible à trouver aujourd'hui.
    A tout hasard, consulte celui des tomes de géométrie moderne de Papelier, consacré à l'inversion!
    Amicalement
    pappus
    PS
    Ci-dessous une figure faite il y a des décennies. Bof!

  • Bonjour ! Je me suis mal exprimé : comment dessiner l’image d’un cercle par une inversion ? Sur l’image de Pappus, à gauche, le cercle rouge et le cercle noir dans son intérieur sont concentriques. Mais à droite, leurs images ne le sont pas ! Par conséquent, comment tracer les cercles du dessin de droite ? C’est-à-dire, comment tracer les cercles, sans connaître leurs centres et rayons ? La seule façon que je vois, c’est de trouver trois points par cercle à gauche, calculer leurs images, et dessiner les cercles circonscrits aux triangles images. Est-ce comme ça que vous avez fait ?
  • Mon cher George Abitbol
    J'utilise in logiciel de géométrie dynamique, Cabri en l'occurrence et j'ai créé des macro-constructions qui font le boulot que tu demandes.
    On est plus à l'âge de pierre de la règle ébréchée et du compas rouillé.
    Amicalement
    pappus
  • Ben314159
    Modifié (January 2024)
    Salut
    Le logiciel que tu utilises ne sais pas faire d'inversion ?
    Sinon, s'il sait faire des homothéties avec un rapport scalaire variable (i.e. dépendant d'un calcul fait sur le dessin), tu peux t'en sortir en regardant ton inversion comme composée d'une inversion lassant fixe le cercle dont tu veux tracer l'image avec une homothétie.
    (sur je ne sais plus quel logiciel que j'utilisais dans le temps, c'est comme ça que je procédais)
  • Pour un logiciel de calcul formel on peut faire les calculs une fois pour toutes. 
  • @pappus : Justement, je voudrais savoir comment tu as fait ces macros.

    @Ben314159 : Je n’ai pas de logiciel, justement. Je veux savoir comment dessiner l’image d’un cercle par une inversion, avec le moins de moyens possibles.

    @Math Coss : Pas compris !
  • Ben314159
    Modifié (January 2024)
    Un des plus connus parmis ceux "en ligne", c'est sans doute géogébra : 
    https://www.geogebra.org/classic/Etf8tgzh
    (Et il sait directement faire les inversions)
  • D’accord mais je voudrais savoir comment enseigner à un ordinateur comment tracer l’image d’un cercle par une inversion.
  • Bonsoir,

    Géogébra sait le faire.
    Tu cliques sur inversion, tu désignes l'objet à inverser, puis le cercle d'inversion, et hop, tu as le résultat.

    Cordialement,
    Rescassol

  • Ludwig
    Modifié (January 2024)
    Au lieu de prendre les images de trois points du cercle par l'inversion, tu prends celles des deux points du cercle situés sur la ligne des centres. Ces images seront diamétralement opposés sur le cercle image, donc tu auras le centre de ce cercle.
  • @Ludwig : hum je n’ai pas bien compris, qu’entends-tu par « ligne des cercles ».

    @Rescassol : je n’ai pas compris. Je vois mal en quoi cliquer sur des boutons dans Geogebra va m’aider.
  • Pas la ligne des cercles, mais des centres, c'est-à-dire la droite par laquelle passe le centre du cercle initial, celui du cercle d'inversion et celui du cercle image.
  • Bonsoir,

    Georges, tu demandes "comment tracer l’image d’un cercle par une inversion".
    Ceci: ."Tu cliques sur inversion, tu désignes l'objet à inverser, puis le cercle d'inversion" dessine ce que tu demandes.
    L'objet à inverser, c'est le cercle dont tu veux l'image.
    Je ne vois pas ce que tu ne comprends pas.

    Cordialement,
    Rescassol

  • @Ludwig : ah c’est bon, j’ai compris ! C’est une bonne idée, merci beaucoup !
  • Bonsoir,

    Je ne comprends toujours pas. Tu veux enseigner à un ordinateur ce qu'il sait déjà faire ?
    Dans ce cas, précise ce que tu supposes connu. Comment définis tu ton inversion ?

    Cordialement,
    Rescassol

  • Oui, je veux enseigner à un ordinateur à dessiner l’image d’un cercle par une inversion. L’ordinateur a le droit de déjà savoir dessiner des cercles à partir de leurs centres et leurs rayons, ainsi que calculer l’image d’un point par une inversion.
  • Bonsoir,

    Alors, tu places un point variable sur le cercle à inverser, tu demandes l'inverse de ce point, et tu demandes le lieu de ce second point quand le premier décrit le cercle.

    Cordialement,
    Rescassol

  • Math Coss
    Modifié (January 2024)
    Je fais salement et vite fait. On fait une inversion de centre $O=(0,0)$ et de puissance $k^2$ avec $k>0$, c'est-à-dire qu'elle envoie $(x,y)$ sur $(x',y')=\bigl(\frac{k^2x}{x^2+y^2},\frac{k^2y}{x^2+y^2}\bigr)$.
    Un cercle ou une droite a une équation de la forme $a(x^2+y^2)+2bx+2cy+d=0$ (pour un cercle on peut imposer $a=1$, pour une droite on a $a=0$). Si on divise par $x^2+y^2$ on trouve, vu que ${x'}^2+{y'}^2=\frac{k^4{x}^2+k^4{y}^2}{(x^2+y^2)^2}=\frac{k^4}{x^2+y^2}$, \[a+2\frac{b}{k^2}x'+2\frac{c}{k^2}y'+\frac{d}{k^4}({x'}^2+{y'}^2)=0\]qui est aux erreurs de calcul près l'équation de l'image dont il n'est pas difficile de déterminer le genre (droite ou cercle) et le centre et le rayon si c'est un cercle.
    Pour un cercle centré ailleurs on fait un changement de repère avant puis après.

  • Ben314159
    Modifié (January 2024)
    Je l'ai déjà dit, mais Il me semble que, si tu veut le centre et/ou le rayon de l'image du cercle $c=\mathcal{C}(\Omega,r)$ par l'inversion $\varphi$ de centre $O\,(\not\in c)$ et de rapport $K$ le plus rapide, c'est simplement décrire que $\varphi=h\circ \psi$ où $\psi$ est l'inversion de centre $O$ et de rapport $O\Omega^2\!-r^2$ et $h$ l'homothétie de centre $O$ et de rapport $\frac{K}{O\Omega^2-r^2}$.  Comme $\psi$ laisse globalement invariant le cercle $c$, tu as $\varphi(c)\!=\!h(c)$ ce qui te donne le centre et le rayon : 
    $\Omega'=O+\frac{K}{O\Omega^2-r^2}\overrightarrow{O\Omega}\ \ $ et $\ \ r'=\frac{|K|}{|O\Omega^2-r^2|}r$.
  • alphapi
    Modifié (January 2024)
    Bonjour à tous,
    Cela peut se faire en restant dans LaTeX, plus exactement ici dans LuaLaTeX.
     La méthode employée est une inversion en partant d'une pile de cercles. tkz-elements connait l'inversion.
     La programmation est basée sur Lua et les objets. (compilation avec lualatex comme moteur)
    % !TEX TS-program = lualatex
    \documentclass[margin=12pt]{standalone} 
    \usepackage[dvipsnames,svgnames]{xcolor}
    \usepackage{tkz-euclide,tkz-elements}
    \usetikzlibrary{math}
    \begin{document}
    \begin{tkzelements}
       xC,nc    = 10,16
       xB         = xC/tkzphi
       xD         = (xC*xC)/xB
       xJ          = (xC+xD)/2
       r             = xD-xJ
       z.A         = point : new ( 0 , 0 ) 
       z.B         = point : new ( xB , 0) 
       z.C         = point : new ( xC , 0)
       L.AC       = line : new (z.A,z.C)
       z.i           = L.AC.mid
       L.AB       = line:new (z.A,z.B)
       z.j           = L.AB.mid
       z.D         = point : new ( xD , 0) 
       C.AC      = circle: new (z.A,z.C) 
       for i         = -nc,nc do
          z["J"..i]     = point: new (xJ,2*r*i)
          z["H"..i]    = point: new (xJ,2*r*i-r)
          z["J"..i.."p"], z["H"..i.."p"]   = C.AC : inversion (z["J"..i],z["H"..i])
          L.AJ         = line : new (z.A,z["J"..i])
          C.JH        = circle: new ( z["J"..i] ,  z["H"..i])
          z["S"..i], z["T"..i]             = intersection (L.AJ,C.JH)
          z["S"..i.."p"], z["T"..i.."p"]   = C.AC : inversion (z["S"..i],z["T"..i])
          L.SpTp      = line:new (  z["S"..i.."p"], z["T"..i.."p"])
          z["I"..i]       = L.SpTp.mid 
        end
    \end{tkzelements}<br><br>
    \def\nc{\tkzUseLua{nc}}
    \begin{tikzpicture}[ultra thin,scale=2]
       \tkzGetNodes
       \tkzDrawCircle[fill=teal!20](i,C)
       \tkzDrawCircle[fill=PineGreen!60](j,B)
       \foreach \i in {-\nc,...,0,...,\nc} {
       \tkzDrawCircle[fill=teal]({I\i},{S\i'})}
    \end{tikzpicture}
    \end{document}

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