Escargot de Pythagore
2 participants
Page 1 sur 1
Escargot de Pythagore
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.
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##
Re: Escargot de Pythagore
Salut Joffrey,
Bel escargot! Je l'ai déplacé vers la rubrique contributions diverses
Bel escargot! Je l'ai déplacé vers la rubrique contributions diverses
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|