TeXgraph
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
Aliexpress : codes promo valables sur tout le site
Voir le deal

Escargot de Pythagore

2 participants

Aller en bas

Escargot de Pythagore Empty Escargot de Pythagore

Message  Joffrey Lun 9 Fév - 19:28

Bonjour,

Voici un petit fichier escargot.teg qui permet d'afficher l'escargot de Pythagore.
La variable globale, nbetape correspond au nombre de triangle à construire.
Je me suis servi de la macro LabelSeg comme je n'avais pas besoin du tracé des segments je l'ai adaptée.

Code:
% TeXgraph version 1.94 beta-7.4
% Fenetre Xmin Xmax Ymin Ymax Xscale Yscale
100#-3#3.5#-3.5#2#2#2##
% Marges gauche droite haut bas cadre gestion_couleur comptgraph
101#0#0#0#0#0#1#3##
% Affectation des Variables theta et phi et type de perspective
18##[theta:=0.5236, phi:=1.0472,OriginalCoord(1),IdMatrix(),IdMatrix3D(),
ModelView(ortho)]##
% Déclaration des Variables Globales
15#nbetape#13##
% Déclaration des Macros
16#LabelSeg2#[
labelpos:=top, $labelsep:=0.25, $center:=0,
SaveAttr(), $aux:=Eval(String(%4)),
$A:=%1, $B:=%2, $C:=(A+B)/2, {Ligne([A,B],0),}
if labelangle<>0 then LabelAngle:=RealArg(B-A)*rad
                else LabelAngle:=0 fi,
    if labelpos=center then
       FillStyle:=full, LineStyle:=noline, LabelStyle:=framed,
       Label(C,%3),
    elif labelpos=top then
         $v:=ScrCoordV(i*RealCoordV(B-A)),
         Label(C+labelsep*v/Abs(v),%3)
    elif labelpos=bottom then
         $v:=ScrCoordV(i*RealCoordV(B-A)),
         Label(C-labelsep*v/Abs(v),%3)
    fi,
    RestoreAttr()
   ]##
% Déclaration des Eléments graphiques
% objet3 (Utilisateur)
18##[tMin:=-5,tMax:=5]##
14#objet3#[
Fenetre(-3+2*i, 3.5-3.5*i,2+2*i),
Marges(0,0,0,0),

LabelSize:=scriptsize,
{points et triangle de depart}
A:=0,B:=1,C:=1+i,
L:=[A,B,C],
LabelSeg2(A,L[3],["$\sqrt{2}$"]),
LabelSeg2(L[2],A,["$1$"],[labelangle:=0]),
LabelSeg2(L[3],L[2],["$1$"],[labelangle:=0]),
angleD(A,L[2],L[3],0.25),
markseg(L[2],A,2,0.1,0.2),
markseg(L[2],L[3],2,0.1,0.2),

{nbetape correspond au nombre de triangle a construire}
Ligne([L, for k from 1 to nbetape do
              old:=Nil,
              replace(L,2,L[3]),
              replace(L,3,simil(L[1],L[2],1/abs(L[3]-A),-pi/2)),
              L,
              LabelSeg2(A,L[3],[" $\sqrt{",k +2,"}$ "]),
              angleD(A,L[2],L[3],0.25),
              markseg(L[3],L[2],2,0.1,0.2),
              od
      ], 1)
]#
-1##
Ce qui donne :
Escargot de Pythagore Escargot

Joffrey

Nombre de messages : 179
Age : 42
Localisation : Vichy(03) / Clermont-Ferrand(63)
Date d'inscription : 13/06/2008

http://mathex.servhome.org

Revenir en haut Aller en bas

Escargot de Pythagore Empty Re: Escargot de Pythagore

Message  P.Fradin Lun 9 Fév - 20:59

Salut Joffrey,

Bel escargot! Je l'ai déplacé vers la rubrique contributions diverses Smile
P.Fradin
P.Fradin
Admin

Nombre de messages : 1133
Age : 62
Date d'inscription : 19/01/2008

http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser