Construction avec les instruments de géométrie
4 participants
Page 1 sur 1
Construction avec les instruments de géométrie
Présentation de la macros instruments, ainsi que les premiers exemples :
Construction de la perpendiculaire à une droite passant par un point :
Voir le Fichier : perpendiculaire_instruments.teg
Construction de la médiatrice d'un segment à la règle et au compas
Voir le Fichier : mediatrice_instruments.teg
Construction de la bissectrice d'un angle à la règle et au compas
Voir le Fichier : bissectrice_instruments.teg
Joffrey
- Code:
200#
{intruments.mac : macro pour dessiner les instruments de geometrie
compas, crayon, equerre, rapporteur, regle}
Mac
compas =
[$dir:=1, $unit:=1, $long:=5, $mine:=black, {valeurs par defaut des options}
SaveAttr(), {sauvegarde des paramètres graphiques}
$x:=Eval(String(%2)), {on évalue les options (3ieme argument)}
LineStyle:=solid,Color:=black, Width:=2, FillStyle:=none,
$A:=RealCoord(%1),{point de depart}
$dir:=RealCoordV(dir),
SetMatrix([0,1/Xscale,i/Yscale]),
$L:=long, {longueur en cm}
$cm:=unit*dir/abs(dir), {vecteur unité sur la règle}
$I:=i*cm,{vecteur orthogonal au vecteur unit}
$B:=A+L*cm, {point d'arrivée}
$C:=A+L/2*cm+(4^2-(L/4)^2)^(1/2)*I,
{Pointe-sèche}
FillColor:=silver, FillStyle:=full, Width:=2,
Ligne([A,A+0.05*cm+I/2, A-0.05*cm+I/2, line],1),
{Première branche}
FillColor:=gray, FillOpacity:=1,
Path([A-0.1*cm+I/2, A+0.1*cm+I/2, C+0.1*cm, C-0.1*cm, line],1),
{Deuxième branche}
Path([C-0.1*cm, C+0.1*cm, B+0.1*cm+I, B-0.1*cm+I, line],1),
{Pétouillon}
FillColor:=crimson,
Ligne([C-0.075*cm, C-0.075*cm+2*I/3, C+0.075*cm+2*I/3, C+0.075*cm],1),
Cercle(C,0.3*unit),
Color:=lightgray,
Ligne([C-0.05*cm,C+0.05*cm,jump,C+0.05*I, C-0.05*I],0),
{Stylo}
FillColor:=seagreen, Color:=black,
Ligne([B-0.11*cm+I/2, B+0.11*cm+I/2,
B+0.11*cm+2*I, B-0.11*cm+2*I],1),
FillStyle:=none, {traits}
Ligne([B-0.055*cm+I/2, B-0.055*cm+2*I,jump,
B+0.055*cm+I/2, B+0.055*cm+2*I],0),
FillStyle:=full, FillColor:=bisque, {FillOpacity:=0.5,}
Ligne([B, B-0.11*cm+I/2, B-0.055*cm+I/1.8,
B+I/2, B+0.055*cm+I/1.8, B+0.11*cm+I/2],1),
{Porte stylo}
FillColor:=silver, Width:=8,{FillOpacity:=1,}
Path([B-0.11*cm+I, B+0.11*cm+I,
B+0.11*cm+1.5*I, B-0.11*cm+1.5*I, line],1),
{Dessin de la mine}
Width:=2, FillColor:=mine,
Path([B-0.055*cm+I/4,B, B+0.055*cm+I/4, line,
B+0.025*cm+I/3.5, B-0.025*cm+I/4.5, B-0.055*cm+I/4, bezier],1),
RestoreAttr() {restauration des paramètres graphiques}
];
crayon =
[$dir:=1, $unit:=1, $long:=5, $mine:=black,{valeurs par defaut des options}
SaveAttr(), {sauvegarde des paramètres graphiques}
$x:=Eval(String(%2)), {on évalue les options (3ieme argument)}
LineStyle:=solid,Color:=black, Width:=2, FillStyle:=none,
$A:=RealCoord(%1),{point de depart}
$dir:=RealCoordV(dir), {direction}
SetMatrix([0,1/Xscale,i/Yscale]),
$L:=long, {longueur en cm}
$cm:=unit*dir/abs(dir), {vecteur unité sur la règle}
$I:=i*cm,{vecteur orthogonal au vecteur unit}
$B:=A+L*cm, {point d'arrivée}
{Dessin du crayon}
FillStyle:=full, FillColor:=lightgray, Color:=black,
Ligne([A+3/4*cm-I/6, B-I/6, B+I/6, A+3/4*cm+I/6],1),
{Width:=8,}
Ligne([A+3/4*cm,B,jump,
A+3/4*cm-I/8,B-I/8,jump,
A+3/4*cm+I/8,B+I/8],0),
{Width:=2,}
{Dessin pointe stylo}
FillColor:=bisque, {FillOpacity:=0.5, Width:=8,}
Ligne([A+3/4*cm-I/6,A,A+3/4*cm+I/6,
A+0.8*cm+I/8, A+0.75*cm+I/16,A+0.8*cm,
A+0.75*cm-I/16, A+0.8*cm-I/8],1),
{Dessin de la mine}
FillColor:=mine, FillOpacity:=1,
Path([A+0.25*cm-I/18,A, A+0.25*cm+I/18, line,
A+0.3*cm+I/36, A+0.2*cm-I/36,A+1/4*cm-I/18,bezier],1),
{Dessin de la gomme}
Color:=black, FillColor:=deeppink,
Ligne([B-I/6, B+0.4*cm-I/6, B+0.4*cm+I/6, B+I/6],1), {gomme}
Color:=black, FillColor:=silver, {FillOpacity:=0.5,} {porte-gomme}
Ligne([B-I/6,B-I/6+0.15*cm,B+I/6+0.15*cm,B+I/6],1),
Ligne([B-I/6+0.05*cm,B+I/6+0.05*cm,jump,
B-I/6+0.15*cm,B+I/6+0.15*cm,jump,
B-I/6+0.1*cm,B+I/6+0.1*cm],0),
RestoreAttr() {restauration des paramètres graphiques}
];
equerre =
[$dir:=1, $labels:=1,$unit:=1, $long:=5, $fond:=lightgray,
SaveAttr(),
$x:=Eval(String(%2)),
LineStyle:=solid,Color:=black, Width:=2, FillStyle:=none,
$angle:=RealArg(dir)*rad+90, {angle en degres}
$L:=long, {longueur en unit cm}
$v1:=ScrCoordV(unit*exp(i*angle*deg)), {vecteur unité sur la règle}
$v2:=ScrCoordV(i*exp(i*angle*deg)),{vecteur orthogonal au vecteur unit}
$A:=%1+0.25*v1, {point de depart}
$B:=A+L*v1, {point d'arrivée}
$nbgrad:=Ent(L*10),
{dessin de l'équerre}
FillColor:=fond, FillStyle:=full, FillOpacity:=0.5, Eofill:=1, Width:=8,
$U:=A-0.25*v1, $V:= B+0.25*v1, $W:= A-0.25*v1-L*unit*v2,
$G:=bissec(U,V,W,1) Inter bissec(V,W,U,1),
$liste:=hom([U,V,W],G,0.45),
$U':=liste[1], $V':=liste[2], $W':=liste[3],
Path([U,V,W,U,line,
(U'+W')/2,move,
W',V',U',(U'+W')/2,0.1*unit,linearc],0),
{graduations et labels}
Width:=2, LabelStyle:=top, LabelSize:=scriptsize, LabelAngle:=angle,
FillStyle:=none, FillOpacity:=1, Eofill:=0,
Ligne( for $compt from 0 to nbgrad-1 do
$k:=A+compt*0.1*v1,
k, k-v2*( if mod(compt,10)=0 then {graduation principale}
1.5*xyticks,
if labels then
Label( k-v2*(1.5*xyticks+xylabelsep), div(compt,10))
fi,
elif mod(compt,10)=5 then {graduation 0.5}
xyticks
else xyticks/2 {graduation 0.1}
fi), jump
od,
0),
{ecriture}
Color:=black,LabelSize:=tiny, LabelStyle:=left, LabelAngle:=angle-90,
Label(W+0.25*v1+1.5*v2, ["\TeX graph"]),
RestoreAttr()
];
rapporteur =
[$dir:=1, {direction horizontale par defaut}
$orientedlabels:=1, $rayon:=3,$fond:=lightgray,
SaveAttr(), {sauvegarde des paramètres graphiques}
$x:=Eval(String(%2)), {on évalue les options (2ieme argument)}
LineStyle:=solid,Color:=black, Width:=2, FillStyle:=none,
{maintenant on se "débarrasse" de la matrice de transformation courante et des échelles}
$A:=RealCoord(%1), {position "réelle" du centre}
$angle:=RealArg(dir)*rad, {angle "réel" en degres du vecteur directeur}
SetMatrix([0,1/Xscale,i/Yscale]), {et on revient à une échelle 1x1}
{on définit alors la matrice qui va placer correctement le rapporteur}
ComposeMatrix(matrix(A+z*exp(i*angle*deg))),
{maintenant on dessine le rapporteur à l'orgine et horizontale, la matrice définie ci-dessus le mettra toute seule à sa place}
FillStyle:=full, FillColor:=fond, FillOpacity:=0.5, Width:=8, $r:=rayon-1,
Rcercle(0,rayon), {grand cercle}
Arrows:=1, FillStyle:=none, Eofill:=1,
Arc( r, 0, r*exp(i*45*deg), 2*rayon/7),
Arc( r, 0, r*exp(i*45*deg), 3*rayon/7),
Arc( r, 0, r*exp(i*45*deg), 4*rayon/7),
{Centre}
Arrows:=0,
Ligne([-0.15, r,jump,-0.15*i,+0.15*i],0),
{graduations et labels}
Width:=2,
if orientedlabels then LabelStyle:=right
else LabelStyle:=0
fi, LabelSize:=tiny,
Ligne(for alpha from 0 to 359 do
$v3:=exp(i*alpha*deg),
rayon*v3, v3*( if mod(alpha,10)=0 then {graduation principale}
rayon-xyticks*1.5,
if orientedlabels then
LabelAngle:=angle+alpha,
Label(v3*(rayon-1.5*xyticks- xylabelsep),alpha)
else
Label(v3*(rayon-1.5*xyticks-2.25*xylabelsep),alpha)
fi
elif mod(alpha,10)=5 then {graduation 0.5}
rayon-xyticks,
else rayon-xyticks/2
fi), jump
od,
0),
{ecriture}
Color:=black, LabelStyle:=top, LabelAngle:=angle,
Label(2*r*exp(190*i*deg)/3, ["\TeX graph"]),
RestoreAttr()
];
regle =
[$dir:=0, $unit:=1, $long:=5, $labels:=1, $fond:=lightgray,{valeurs par defaut des options}
SaveAttr(), {sauvegarde des paramètres graphiques}
$x:=Eval(String(%2)), {on évalue les options (3ieme argument)}
LineStyle:=solid,Color:=black, Width:=2, FillStyle:=none,
$angle:=RealArg(dir)*rad, {angle en degres}
$A:=%1, {point de depart}
$L:=long, {longueur en cm}
$cm:=ScrCoordV(unit*exp(i*angle*deg)), {vecteur unité sur la règle}
$I:=ScrCoordV(i*exp(i*angle*deg)),{vecteur orthogonal au vecteur unit}
$B:=A+L*cm, {point d'arrivée}
$nbgrad:=Ent(L*10),
{dessin de la règle avec origine=0 et angle=0}
FillColor:=fond, FillStyle:=full, FillOpacity:=0.5, Width:=8,
Path([A-0.25*cm, B+0.25*cm, line,
B+0.5*cm-I/3, B-2*I/3, B+0.25*cm-I, bezier,
A-0.25*cm-I, line], 1),
{graduations et labels}
Width:=2, LabelAngle:=angle, LabelStyle:=top, LabelSize:=scriptsize,
Ligne( for $compt from 0 to nbgrad do
$k:=A+compt*0.1*cm,
k, k-I*( if mod(compt,10)=0 then {graduation principale}
1.5*xyticks,
if labels then
Label( k-I*(1.5*xyticks+xylabelsep), div(compt,10))
fi,
elif mod(compt,10)=5 then {graduation 0.5}
xyticks
else xyticks/2 {graduation 0.1}
fi), jump,
od,
0),
{ecriture}
LabelSize:=tiny, LabelStyle:=left,
Label(A-0.05*cm-0.85*I, ["\TeX graph"]),
RestoreAttr() {restauration des paramètres graphiques}
];
Help =
[Message(
if StrComp(String(%1),"compas") then
"compas( position de la pointe, [options])
options:
long:= nb en cm (distance pointe-crayon, 5 cm par defaut)
dir:= vecteur directeur de la droite pointe-crayon (1 par dfaut)
unit:= nombre (unite en cm, 1 par défaut)
mine:= couleur de la mine (noir par defaut)
ex: compas(0, [dir:=1+i, long:=2.5, mine:=red])"
elif StrComp(String(%1),"crayon") then
"crayon( position de la mine, [options])
options:
long:= longueur du crayon en cm (5 cm par defaut)
dir:= vecteur directeur de l'axe du crayon (1 par defaut)
unit:= nombre (unite en cm, 1 par défaut)
mine:= couleur de la mine (noir par defaut)
ex: crayon(-5+i, [long:=2.5, dir:=-1+i])"
elif StrComp(String(%1),"equerre") then
"equerre( position du coin droit, [options])
options:
long:= longueur en cm de la partie gradue (5 cm par defaut)
dir:= vecteur normal la partie gradue (1 par defaut)
unit:= nombre (unite en cm, 1 par défaut)
fond:= couleur de l'querre (lightgray par defaut)
labels:= 0/1 indique la prsence ou non des graduations (1 par dfaut)
ex: equerre(-2+i, [dir:=1+i, unit:=0.75])"
elif StrComp(String(%1),"rapporteur") then
"rapporteur( position du centre, [options])
options:
dir:= vecteur directeur vers la graduation 0 (1 par defaut)
rayon:= nombre en cm (3cm par défaut)
fond:= couleur du rapporteur (lightgray par defaut)
orientedlabels:= 0/1 indique si les labels sont horizontaux ou non (1 par dfaut)
ex: rapporteur(2-3*i, [rayon:=2.5])"
elif StrComp(String(%1),"regle") then
"regle( position de la graduation 0, [options])
options:
long:= longueur en cm de la partie gradue (5 cm par defaut)
dir:= vecteur directeur de la rgle (1 par defaut)
unit:= nombre (unite en cm, 1 par défaut)
fond:= couleur de la rgle (lightgray par defaut)
labels:= 0/1 indique la prsence ou non des graduations (1 par dfaut)
ex: regle(-4-i, [dir:=1+i, long:=6])"
else
"Syntaxe: Help( <nom de la macro> )
Liste des macros disponibles:
compas, crayon, equerre, rapporteur, regle."
fi
)];
Construction de la perpendiculaire à une droite passant par un point :
Voir le Fichier : perpendiculaire_instruments.teg
Construction de la médiatrice d'un segment à la règle et au compas
Voir le Fichier : mediatrice_instruments.teg
Construction de la bissectrice d'un angle à la règle et au compas
Voir le Fichier : bissectrice_instruments.teg
Joffrey
Re: Construction avec les instruments de géométrie
Petite précision pour ceux qui veulent essayer:
Enregistrer le code au début du message de jeoffrey, dans un fichier, appelez-le instruments.mac. Chargez une des animations, par exemple: perpendiculaire_instruments.teg, ouvrez-la avec TeXgraph, prenez le menu Fichier/charger macros et sélectionnez le fichier instruments.mac.
Je pense que ce fichier de macros aurait sa place dans les prochaines archives de TeXgraph. Tu serais d'accord Jeoffrey?
Enregistrer le code au début du message de jeoffrey, dans un fichier, appelez-le instruments.mac. Chargez une des animations, par exemple: perpendiculaire_instruments.teg, ouvrez-la avec TeXgraph, prenez le menu Fichier/charger macros et sélectionnez le fichier instruments.mac.
Je pense que ce fichier de macros aurait sa place dans les prochaines archives de TeXgraph. Tu serais d'accord Jeoffrey?
Re: Construction avec les instruments de géométrie
Bonjour,
Je viens de regarder briévement tes modifications, effectivement c'est plus pratique!!!!!
Bonne journée
Joffrey
Je viens de regarder briévement tes modifications, effectivement c'est plus pratique!!!!!
Avec plaisir!P.Fradin a écrit :
Je pense que ce fichier de macros aurait sa place dans les prochaines archives de TeXgraph. Tu serais d'accord Joffrey?
Bonne journée
Joffrey
Re: Construction avec les instruments de géométrie
Tant que j'y suis, il serait bien de faire un petit fichier d'aide en pdf sur ce fichier de macros. Il n'a pas besion d'être gros, il faut la liste des macros, avec pour chacune d'elles: la syntaxe précise avec une explication pour les options et un exemple. Tu es partant?
Re: Construction avec les instruments de géométrie
Salut,
Bien évidement, je t'envoie ça sur ton mail avant la fin du week-end.
À plus
Joffrey
P.Fradin a écrit :
Tant que j'y suis, il serait bien de faire un petit fichier d'aide en pdf sur ce fichier de macros. Il n'a pas besiion d'être gros, il faut la liste des macros, avec pour chacune d'elles: la syntaxe précise avec une explication pour les options et un exemple. Tu es partant?
Bien évidement, je t'envoie ça sur ton mail avant la fin du week-end.
À plus
Joffrey
Re: Construction avec les instruments de géométrie
Je rajoute la construction de la parallèle a une droite passant par un point
Je viens de voir qu'il y avait un (voire deux) bug qui m'a(ont) échappé tout a l'heure.
Je m'en occupe demain.
Du coup, je posterai le .teg après modifications
Bonne soirée
Jo
Je viens de voir qu'il y avait un (voire deux) bug qui m'a(ont) échappé tout a l'heure.
Je m'en occupe demain.
Du coup, je posterai le .teg après modifications
Bonne soirée
Jo
Re: Construction avec les instruments de géométrie
Bonsoir joffrey,
Décidemment cette idée d'instruments est une bonne idée, cela donne bien et je pense que pour de jeunes élèves cela doit être utile. As-tu eu l'occasion de tester avec des élèves?
Décidemment cette idée d'instruments est une bonne idée, cela donne bien et je pense que pour de jeunes élèves cela doit être utile. As-tu eu l'occasion de tester avec des élèves?
Re: Construction avec les instruments de géométrie
Bonsoir,
Dès que je l'ai testé, je te tiens au courant des "résultats" et des premières impressions.
Jo
C'est dans mes projets,P.Fradin a écrit
As-tu eu l'occasion de tester avec des élèves?
à l'heure où l'informatique prend une place de plus en plus grande dans l'enseignement et ce quelque soit le niveau, il fallait bien que je trouve une idée, pour montrer qu'avec TeXgraph on peut faire de très belle chose et en plus très utile dans la pratique.P.Fradin a écrit
Décidemment cette idée d'instruments est une bonne idée, cela donne bien et je pense que pour de jeunes élèves cela doit être utile.
Dès que je l'ai testé, je te tiens au courant des "résultats" et des premières impressions.
Jo
Re: Construction avec les instruments de géométrie
Surtout Patrick, n'hésite pas a utiliser ces nouveaux outils pour apprendre à tes élèves comment tracer la parallèle à une droite passant par un point...
Re: Construction avec les instruments de géométrie
Alphonse Capriani a écrit:Surtout Patrick, n'hésite pas a utiliser ces nouveaux outils pour apprendre à tes élèves comment tracer la parallèle à une droite passant par un point...
C'est vrai qu'un peu de révision ne serait sûrement pas superflu...
Re: Construction avec les instruments de géométrie
Bonsoir,
toujours pour rester dans les constructions de collège, je m'attaque a la symétrie axiale.
Voir le Fichier : sym_axiale_point.teg
Voir le Fichier : sym_axiale_cercle.teg
PS:Je viens de me rendre compte que je n'ai pas poster la construction de la parallèle modifiée, je palie ce manque rapidement
Bonne soirée (nuit!!!)
Joffrey Cottin
toujours pour rester dans les constructions de collège, je m'attaque a la symétrie axiale.
Voir le Fichier : sym_axiale_point.teg
Voir le Fichier : sym_axiale_cercle.teg
PS:Je viens de me rendre compte que je n'ai pas poster la construction de la parallèle modifiée, je palie ce manque rapidement
Bonne soirée (nuit!!!)
Joffrey Cottin
Re: Construction avec les instruments de géométrie
Salut Joffrey,
On ne t'arrête plus! Tu ne manques pas d'idées, alors surtout continue comme ça!
On ne t'arrête plus! Tu ne manques pas d'idées, alors surtout continue comme ça!
Re: Construction avec les instruments de géométrie
Bonsoir,
Comme je remarque peu d'activité sur le forum ces derniers temps je me permet de poster une petite animation sur la première utilisation du rapporteur en sixième.
avec le code correspondant :
Joffrey
Comme je remarque peu d'activité sur le forum ces derniers temps je me permet de poster une petite animation sur la première utilisation du rapporteur en sixième.
avec le code correspondant :
- Code:
% TeXgraph version 1.94 beta-7.2
% Fenetre Xmin Xmax Ymin Ymax Xscale Yscale
100#-5#5#-5#5#1#1##
% Marges gauche droite haut bas cadre gestion_couleur comptgraph
101#0#0#0#0#0#1#9##
% Affectation des Variables theta et phi et type de perspective
18##[theta:=0.5236, phi:=1.0472,OriginalCoord(1),IdMatrix(),IdMatrix3D(),ModelView(ortho)]##
18##InputMac("Animation.mac")##
% Déclaration des Variables Globales
15#O#0##
15#x#4*exp(i*pi/8)##
15#y#exp(19*i*pi/24)##
15#mu#-4##
15#lambda#0##
15#alpha#-6##
15#clr#16777215##
% Déclaration des Macros
16#MakeFrame#[{code pour dessiner la frame n° %1}
if %1>1 And %1<=33 then
Inc(mu,0.25),
ReCalc(mvt_rapporteur)
elif %1>33 And %1<=37 then
Inc(lambda,1),
ReCalc(mvt_rapporteur)
elif %1>37 And %1<=40 then
elif %1>40 And %1<=45 then
clr:=red,
ReCalc(fleche),
elif %1>45 And %1<=53 then
Inc(alpha,0.25),
ReCalc(ecriture)
fi
]##
16#OnBeginAnim#[{exécutée au lancement de l'animation}
]##
16#OnEndAnim#[{exécutée à la fin de l'animation}
]##
16#Initialiser#[{valeurs par défaut de vos paramètres}
mu:=-4, lambda:=0, alpha:=-6,clr:=white,
ReCalc()
]##
16#Tempo#100##
16#NbFrames#53##
16#Nom#\TmpPath##
% Déclaration des Eléments graphiques
% objet9 (Grille)
18##[Color:=12632256,IsVisible:=0]##
2#objet9#[0+i*(0),1+i*(1)]#0#0##
% objet7 (Axes)
18##[Color:=0]##
1#objet7#[0+i*(0),1+i*(1),2+i*(2)]#0#0##
% depart (Utilisateur)
18##[IsVisible:=1]##
14#depart#[
Width:=8,
LabelDot(O,"O","SO"),
Ddroite(O,x),
Ddroite(O,y),
Arc(x,O,y,0.5),
LabelDot(x,"$x$","S"),
LabelDot(5*y,"$y$","SO")
]#-1##
% mvt_rapporteur (Utilisateur)
14#mvt_rapporteur#[
rapporteur((-4+mu)+(-2+mu/2)*i,[dir:=exp(lambda*i*pi/32), fond:=yellow, rayon:=3]),
]#-1##
% ecriture (Utilisateur)
14#ecriture#[
Width:=8,
Label(alpha*i,["L'angle $\widehat{xOy}$ mesure 120\degre"])
]#-1##
% fleche (Utilisateur)
14#fleche#[
Color:=clr,
Arrows:=1,
Seg(3.1*exp(19*i*pi/24.2)+i,3.1*exp(19*i*pi/24.2)),
Label(3.1*exp(19*i*pi/24.2)+1.5*i,["120\degre"])
]#-1##
Joffrey
Re: Construction avec les instruments de géométrie
Joffrey a écrit:Bonsoir,
Bonjour Joffrey,
Comme je remarque peu d'activité sur le forum ces derniers temps
Et oui... à tel point que je me dis que si le forum ferme faute d'activité (ce n'est pas moi qui décide, cela dépénd des hébergeurs) je n'en referai pas un autre.
je me permet de poster une petite animation sur la première utilisation du rapporteur en sixième.
Je t'en remercie. Concours de circonstances, j'ai utilisé hier soir instrumentsDessins.mac pour illustrer le principe de l'équerre de Newton et je me suis rendu compte qu'il manque une option pour l'équerre: elle est toujours dessinée dans le "même sens", on ne peut pas la retourner. Du coup j'ai ajouté une option sens:= +/-1 (1 par défaut) pour l'équerre. Si tu as l'occasion il faudrait modifier le source.
Re: Construction avec les instruments de géométrie
Re,
Je ne suis pas sûr d'avoir compris ce que fait cette nouvelle option, as-tu un exemple?
Sans problème, mais il faudra que tu me fasses passer le bout de code supplémentaire. Je m'occuperait par la même occasion de la doc.
Joffrey
P.Fradin a écrit :
Elle est toujours dessinée dans le "même sens", on ne peut pas la retourner. Du coup j'ai ajouté une option sens:= +/-1 (1 par défaut) pour l'équerre
Je ne suis pas sûr d'avoir compris ce que fait cette nouvelle option, as-tu un exemple?
Si tu as l'occasion il faudrait modifier le source.
Sans problème, mais il faudra que tu me fasses passer le bout de code supplémentaire. Je m'occuperait par la même occasion de la doc.
Joffrey
Re: Construction avec les instruments de géométrie
Salut Joffrey,
Voilà un exemple, celle du bas est retournée:
Le nouveau code d'équerre (très peu de différences, à part l'option sens:=+/-1 en plus qui change le vecteur v1):
Voilà un exemple, celle du bas est retournée:
Le nouveau code d'équerre (très peu de différences, à part l'option sens:=+/-1 en plus qui change le vecteur v1):
- Code:
{equerre( position du coin droit, [options])
options:
long:= longueur en cm de la partie graduée (5 cm par defaut)
dir:= vecteur normal à la partie graduée (1 par defaut)
unit:= nombre (unite en cm, 1 par défaut)
sens:= +/-1 (sens direct ou non, 1 par défaut)
fond:= couleur de l'équerre (lightgray par defaut)
labels:= 0/1 indique la présence ou non des graduations (1 par défaut)}
[$dir:=1, $labels:=1,$unit:=1, $long:=5, $fond:=lightgray, $sens:=1,
SaveAttr(),
$x:=Eval(String(%2)),
LineStyle:=solid,Color:=black, Width:=2, FillStyle:=none,
$angle:=RealArg(dir)*rad+90, {angle en degres}
$L:=long, {longueur en unit cm}
$v1:=ScrCoordV(sens*unit*exp(i*angle*deg)), {vecteur unité sur la règle}
$v2:=ScrCoordV(i*exp(i*angle*deg)),{vecteur orthogonal au vecteur unit}
$A:=%1+0.25*v1, {point de depart}
$B:=A+L*v1, {point d'arrivée}
$nbgrad:=Ent(L*10),
{dessin de l'équerre}
FillColor:=fond, FillStyle:=full, FillOpacity:=0.5, Eofill:=1, Width:=8,
$U:=A-0.25*v1, $V:= B+0.25*v1, $W:= A-0.25*v1-L*unit*v2,
$G:=bissec(U,V,W,1) Inter bissec(V,W,U,1),
$liste:=hom([U,V,W],G,0.45),
$U':=liste[1], $V':=liste[2], $W':=liste[3],
Path([U,V,W,U,line,
(U'+W')/2,move,
W',V',U',(U'+W')/2,0.1*unit,linearc],0),
{graduations et labels}
Width:=2, LabelStyle:=top, LabelSize:=scriptsize, LabelAngle:=angle,
FillStyle:=none, FillOpacity:=1, Eofill:=0,
Ligne( for $compt from 0 to nbgrad-1 do
$k:=A+compt*0.1*v1,
k, k-v2*( if mod(compt,10)=0 then {graduation principale}
1.5*xyticks,
if labels then
Label( k-v2*(1.5*xyticks+xylabelsep), div(compt,10))
fi,
elif mod(compt,10)=5 then {graduation 0.5}
xyticks
else xyticks/2 {graduation 0.1}
fi), jump
od,
0),
{ecriture}
Color:=black,LabelSize:=tiny, LabelStyle:=left, LabelAngle:=angle-90,
Label(W+0.25*v1+1.5*v2, ["\TeX graph"]),
RestoreAttr()
];
Re: Construction avec les instruments de géométrie
Je te fais suivre le fichier instrumentsDessin.mac modifié, equerre et Help
Je t'envoie le pdf par mail.
Est-ce bien ce que tu voulais?
Joffrey
- Code:
200#
{intruments.mac : macro pour dessiner les instruments de geometrie
compas, crayon, equerre, rapporteur, regle}
Mac
compas =
[$dir:=1, $unit:=1, $long:=5, $mine:=black, {valeurs par defaut des options}
SaveAttr(), {sauvegarde des paramètres graphiques}
$x:=Eval(String(%2)), {on évalue les options (3ieme argument)}
LineStyle:=solid,Color:=black, Width:=2, FillStyle:=none,
$A:=RealCoord(%1),{point de depart}
$dir:=RealCoordV(dir),
SetMatrix([0,1/Xscale,i/Yscale]),
$L:=long, {longueur en cm}
$cm:=unit*dir/abs(dir), {vecteur unité sur la règle}
$I:=i*cm,{vecteur orthogonal au vecteur unit}
$B:=A+L*cm, {point d'arrivée}
$C:=A+L/2*cm+(4^2-(L/4)^2)^(1/2)*I,
{Pointe-sèche}
FillColor:=silver, FillStyle:=full, Width:=2,
Ligne([A,A+0.05*cm+I/2, A-0.05*cm+I/2, line],1),
{Première branche}
FillColor:=gray, FillOpacity:=1,
Path([A-0.1*cm+I/2, A+0.1*cm+I/2, C+0.1*cm, C-0.1*cm, line],1),
{Deuxième branche}
Path([C-0.1*cm, C+0.1*cm, B+0.1*cm+I, B-0.1*cm+I, line],1),
{Pétouillon}
FillColor:=crimson,
Ligne([C-0.075*cm, C-0.075*cm+2*I/3, C+0.075*cm+2*I/3, C+0.075*cm],1),
Cercle(C,0.3*unit),
Color:=lightgray,
Ligne([C-0.05*cm,C+0.05*cm,jump,C+0.05*I, C-0.05*I],0),
{Stylo}
FillColor:=seagreen, Color:=black,
Ligne([B-0.11*cm+I/2, B+0.11*cm+I/2,
B+0.11*cm+2*I, B-0.11*cm+2*I],1),
FillStyle:=none, {traits}
Ligne([B-0.055*cm+I/2, B-0.055*cm+2*I,jump,
B+0.055*cm+I/2, B+0.055*cm+2*I],0),
FillStyle:=full, FillColor:=bisque, {FillOpacity:=0.5,}
Ligne([B, B-0.11*cm+I/2, B-0.055*cm+I/1.8,
B+I/2, B+0.055*cm+I/1.8, B+0.11*cm+I/2],1),
{Porte stylo}
FillColor:=silver, Width:=8,{FillOpacity:=1,}
Path([B-0.11*cm+I, B+0.11*cm+I,
B+0.11*cm+1.5*I, B-0.11*cm+1.5*I, line],1),
{Dessin de la mine}
Width:=2, FillColor:=mine,
Path([B-0.055*cm+I/4,B, B+0.055*cm+I/4, line,
B+0.025*cm+I/3.5, B-0.025*cm+I/4.5, B-0.055*cm+I/4, bezier],1),
RestoreAttr() {restauration des paramètres graphiques}
];
crayon =
[$dir:=1, $unit:=1, $long:=5, $mine:=black,{valeurs par defaut des options}
SaveAttr(), {sauvegarde des paramètres graphiques}
$x:=Eval(String(%2)), {on évalue les options (3ieme argument)}
LineStyle:=solid,Color:=black, Width:=2, FillStyle:=none,
$A:=RealCoord(%1),{point de depart}
$dir:=RealCoordV(dir), {direction}
SetMatrix([0,1/Xscale,i/Yscale]),
$L:=long, {longueur en cm}
$cm:=unit*dir/abs(dir), {vecteur unité sur la règle}
$I:=i*cm,{vecteur orthogonal au vecteur unit}
$B:=A+L*cm, {point d'arrivée}
{Dessin du crayon}
FillStyle:=full, FillColor:=lightgray, Color:=black,
Ligne([A+3/4*cm-I/6, B-I/6, B+I/6, A+3/4*cm+I/6],1),
{Width:=8,}
Ligne([A+3/4*cm,B,jump,
A+3/4*cm-I/8,B-I/8,jump,
A+3/4*cm+I/8,B+I/8],0),
{Width:=2,}
{Dessin pointe stylo}
FillColor:=bisque, {FillOpacity:=0.5, Width:=8,}
Ligne([A+3/4*cm-I/6,A,A+3/4*cm+I/6,
A+0.8*cm+I/8, A+0.75*cm+I/16,A+0.8*cm,
A+0.75*cm-I/16, A+0.8*cm-I/8],1),
{Dessin de la mine}
FillColor:=mine, FillOpacity:=1,
Path([A+0.25*cm-I/18,A, A+0.25*cm+I/18, line,
A+0.3*cm+I/36, A+0.2*cm-I/36,A+1/4*cm-I/18,bezier],1),
{Dessin de la gomme}
Color:=black, FillColor:=deeppink,
Ligne([B-I/6, B+0.4*cm-I/6, B+0.4*cm+I/6, B+I/6],1), {gomme}
Color:=black, FillColor:=silver, {FillOpacity:=0.5,} {porte-gomme}
Ligne([B-I/6,B-I/6+0.15*cm,B+I/6+0.15*cm,B+I/6],1),
Ligne([B-I/6+0.05*cm,B+I/6+0.05*cm,jump,
B-I/6+0.15*cm,B+I/6+0.15*cm,jump,
B-I/6+0.1*cm,B+I/6+0.1*cm],0),
RestoreAttr() {restauration des paramètres graphiques}
];
equerre=
[$dir:=1, $labels:=1,$unit:=1, $long:=5, $fond:=lightgray, $sens:=1,
SaveAttr(),
$x:=Eval(String(%2)),
LineStyle:=solid,Color:=black, Width:=2, FillStyle:=none,
$angle:=RealArg(dir)*rad+90, {angle en degres}
$L:=long, {longueur en unit cm}
$v1:=ScrCoordV(sens*unit*exp(i*angle*deg)), {vecteur unité sur la règle}
$v2:=ScrCoordV(i*exp(i*angle*deg)),{vecteur orthogonal au vecteur unit}
$A:=%1+0.25*v1, {point de depart}
$B:=A+L*v1, {point d'arrivée}
$nbgrad:=Ent(L*10),
{dessin de l'équerre}
FillColor:=fond, FillStyle:=full, FillOpacity:=0.5, Eofill:=1, Width:=8,
$U:=A-0.25*v1, $V:= B+0.25*v1, $W:= A-0.25*v1-L*unit*v2,
$G:=bissec(U,V,W,1) Inter bissec(V,W,U,1),
$liste:=hom([U,V,W],G,0.45),
$U':=liste[1], $V':=liste[2], $W':=liste[3],
Path([U,V,W,U,line,
(U'+W')/2,move,
W',V',U',(U'+W')/2,0.1*unit,linearc],0),
{graduations et labels}
Width:=2, LabelStyle:=top, LabelSize:=scriptsize, LabelAngle:=angle,
FillStyle:=none, FillOpacity:=1, Eofill:=0,
Ligne( for $compt from 0 to nbgrad-1 do
$k:=A+compt*0.1*v1,
k, k-v2*( if mod(compt,10)=0 then {graduation principale}
1.5*xyticks,
if labels then
Label( k-v2*(1.5*xyticks+xylabelsep), div(compt,10))
fi,
elif mod(compt,10)=5 then {graduation 0.5}
xyticks
else xyticks/2 {graduation 0.1}
fi), jump
od,
0),
{ecriture}
Color:=black,LabelSize:=tiny, LabelStyle:=left, LabelAngle:=angle-90,
Label(W+0.25*v1+1.5*v2, ["\TeX graph"]),
RestoreAttr()
];
rapporteur =
[$dir:=1, {direction horizontale par defaut}
$orientedlabels:=1, $rayon:=3,$fond:=lightgray,
SaveAttr(), {sauvegarde des paramètres graphiques}
$x:=Eval(String(%2)), {on évalue les options (2ieme argument)}
LineStyle:=solid,Color:=black, Width:=2, FillStyle:=none,
{maintenant on se "débarrasse" de la matrice de transformation courante et des échelles}
$A:=RealCoord(%1), {position "réelle" du centre}
$angle:=RealArg(dir)*rad, {angle "réel" en degres du vecteur directeur}
SetMatrix([0,1/Xscale,i/Yscale]), {et on revient à une échelle 1x1}
{on définit alors la matrice qui va placer correctement le rapporteur}
ComposeMatrix(matrix(A+z*exp(i*angle*deg))),
{maintenant on dessine le rapporteur à l'orgine et horizontale, la matrice définie ci-dessus le mettra toute seule à sa place}
FillStyle:=full, FillColor:=fond, FillOpacity:=0.5, Width:=8, $r:=rayon-1,
Rcercle(0,rayon), {grand cercle}
Arrows:=1, FillStyle:=none, Eofill:=1,
Arc( r, 0, r*exp(i*45*deg), 2*rayon/7),
Arc( r, 0, r*exp(i*45*deg), 3*rayon/7),
Arc( r, 0, r*exp(i*45*deg), 4*rayon/7),
{Centre}
Arrows:=0,
Ligne([-0.15, r,jump,-0.15*i,+0.15*i],0),
{graduations et labels}
Width:=2,
if orientedlabels then LabelStyle:=right
else LabelStyle:=0
fi, LabelSize:=tiny,
Ligne(for alpha from 0 to 359 do
$v3:=exp(i*alpha*deg),
rayon*v3, v3*( if mod(alpha,10)=0 then {graduation principale}
rayon-xyticks*1.5,
if orientedlabels then
LabelAngle:=angle+alpha,
Label(v3*(rayon-1.5*xyticks- xylabelsep),alpha)
else
Label(v3*(rayon-1.5*xyticks-2.25*xylabelsep),alpha)
fi
elif mod(alpha,10)=5 then {graduation 0.5}
rayon-xyticks,
else rayon-xyticks/2
fi), jump
od,
0),
{ecriture}
Color:=black, LabelStyle:=top, LabelAngle:=angle,
Label(2*r*exp(190*i*deg)/3, ["\TeX graph"]),
RestoreAttr()
];
regle =
[$dir:=0, $unit:=1, $long:=5, $labels:=1, $fond:=lightgray,{valeurs par defaut des options}
SaveAttr(), {sauvegarde des paramètres graphiques}
$x:=Eval(String(%2)), {on évalue les options (3ieme argument)}
LineStyle:=solid,Color:=black, Width:=2, FillStyle:=none,
$angle:=RealArg(dir)*rad, {angle en degres}
$A:=%1, {point de depart}
$L:=long, {longueur en cm}
$cm:=ScrCoordV(unit*exp(i*angle*deg)), {vecteur unité sur la règle}
$I:=ScrCoordV(i*exp(i*angle*deg)),{vecteur orthogonal au vecteur unit}
$B:=A+L*cm, {point d'arrivée}
$nbgrad:=Ent(L*10),
{dessin de la règle avec origine=0 et angle=0}
FillColor:=fond, FillStyle:=full, FillOpacity:=0.5, Width:=8,
Path([A-0.25*cm, B+0.25*cm, line,
B+0.5*cm-I/3, B-2*I/3, B+0.25*cm-I, bezier,
A-0.25*cm-I, line], 1),
{graduations et labels}
Width:=2, LabelAngle:=angle, LabelStyle:=top, LabelSize:=scriptsize,
Ligne( for $compt from 0 to nbgrad do
$k:=A+compt*0.1*cm,
k, k-I*( if mod(compt,10)=0 then {graduation principale}
1.5*xyticks,
if labels then
Label( k-I*(1.5*xyticks+xylabelsep), div(compt,10))
fi,
elif mod(compt,10)=5 then {graduation 0.5}
xyticks
else xyticks/2 {graduation 0.1}
fi), jump,
od,
0),
{ecriture}
LabelSize:=tiny, LabelStyle:=left,
Label(A-0.05*cm-0.85*I, ["\TeX graph"]),
RestoreAttr() {restauration des paramètres graphiques}
];
Help =
[Message(
if StrComp(String(%1),"compas") then
"compas(position de la pointe, [options])
options:
long:= nombre en cm (distance pointe-crayon, 5 cm par defaut)
dir:= vecteur directeur de la droite pointe-crayon (1 par defaut)
unit:= nombre (unite en cm, 1 par defaut)
mine:= couleur de la mine (noir par defaut)
ex: compas(0, [dir:=1+i, long:=2.5, mine:=red])"
elif StrComp(String(%1),"crayon") then
"crayon(position de la mine, [options])
options:
long:= longueur du crayon en cm (5 cm par defaut)
dir:= vecteur directeur de l'axe du crayon (1 par defaut)
unit:= nombre (unite en cm, 1 par défaut)
mine:= couleur de la mine (noir par defaut)
ex: crayon(-5+i, [long:=2.5, dir:=-1+i])"
elif StrComp(String(%1),"equerre") then
"equerre(position du coin droit, [options])
options:
long:= longueur en cm de la partie gradue (5 cm par defaut)
dir:= vecteur normal la partie gradue (1 par defaut)
unit:= nombre (unite en cm, 1 par défaut)
fond:= couleur de l'equerre (lightgray par defaut)
labels:= 0/1 indique la presence ou non des graduations (1 par defaut)
sens:= +/-1 permet de << retourner >> l'equerre (1 par defaut)
ex: equerre(-2+i, [dir:=1+i, unit:=0.75])"
elif StrComp(String(%1),"rapporteur") then
"rapporteur(position du centre, [options])
options:
dir:= vecteur directeur vers la graduation 0 (1 par defaut)
rayon:= nombre en cm (3cm par defaut)
fond:= couleur du rapporteur (lightgray par defaut)
orientedlabels:= 0/1 indique si les labels sont horizontaux ou non (1 par dfaut)
ex: rapporteur(2-3*i, [rayon:=2.5])"
elif StrComp(String(%1),"regle") then
"regle(position de la graduation 0, [options])
options:
long:= longueur en cm de la partie gradue (5 cm par defaut)
dir:= vecteur directeur de la rgle (1 par defaut)
unit:= nombre (unite en cm, 1 par defaut)
fond:= couleur de la rgle (lightgray par defaut)
labels:= 0/1 indique la prsence ou non des graduations (1 par dfaut)
ex: regle(-4-i, [dir:=1+i, long:=6])"
else
"Syntaxe: Help( <nom de la macro> )
Liste des macros disponibles:
compas, crayon, equerre, rapporteur, regle."
fi
)];
Je t'envoie le pdf par mail.
Est-ce bien ce que tu voulais?
Joffrey
Re: Construction avec les instruments de géométrie
Merci Joffrey,
C'est parfait. En fait j'avais déjà modifié le fichier *.mac, il ne manquait plus que le pdf.
C'est parfait. En fait j'avais déjà modifié le fichier *.mac, il ne manquait plus que le pdf.
Re: Construction avec les instruments de géométrie
P.Fradin a écrit:Et oui... à tel point que je me dis que si le forum ferme faute d'activité (ce n'est pas moi qui décide, cela dépénd des hébergeurs) je n'en referai pas un autre.Joffrey a écrit:Comme je remarque peu d'activité sur le forum ces derniers temps
Tu nous mets la pression Patrick!!!
Je sais que je suis HS, mais ce serait qunad même dommage que le forum ferme pour faible activité!! C'est vrai que je suis pas très impliqué dans les récentes innovations concernant TeXgraph (je trouve plus le temps : ca devrait être mieux à partir d'avril 2009) mais je pense qu'il faut absolument que le forum continue à exister.
Donc pour les membres (et les autres) qui lisent ce message, mobilisez vous et postez!!! (pas n'importe quoi : il faut que ce soit quand même en rapport avec TeXgraph!!!)
En meme temps, je remarque sur la page des statistiques du forum (et d'ailleurs, ca bugue un max!!!) que le mois d'octobre n'a jamais été aussi bon! Merci Eric Kouris!!!
Re: Construction avec les instruments de géométrie
Bonjour Alphonse,
Je ne cherche pas à mettre la pression, je voulais simplement dire que certains hébergeurs ferment purement et simplement les forums quand ils paraissent trop inactifs (c'était le cas d'Héberg-forum, je ne sais pas si c'est le cas chez forum actif). Ceci dit j'ai un mis un forum phpBB3 personnel sur mon site il y a quelques temps, mais il n'est pas encore public, et j'hésite à le faire bien que ce soit la solution.
Il est là (et encore vierge): http://texgraph.tuxfamily.org/forum/
Deux points m'embêtent:
1) Il faut bidouiller soi-même le code php pour ajouter des fonctionnalités (d'où l'existence d'hébergeurs de forums!), et je n'ai pas de temps pour me lancer dans le php juste pour faire un forum.
2) Comment rapatrier tout ce qui a déjà été fait ici?
Une solution est de fermer celui-ci mais de le laisser en lecture seule, et de poster sur l'autre (une fois qu'il sera aménagé).
Je ne cherche pas à mettre la pression, je voulais simplement dire que certains hébergeurs ferment purement et simplement les forums quand ils paraissent trop inactifs (c'était le cas d'Héberg-forum, je ne sais pas si c'est le cas chez forum actif). Ceci dit j'ai un mis un forum phpBB3 personnel sur mon site il y a quelques temps, mais il n'est pas encore public, et j'hésite à le faire bien que ce soit la solution.
Il est là (et encore vierge): http://texgraph.tuxfamily.org/forum/
Deux points m'embêtent:
1) Il faut bidouiller soi-même le code php pour ajouter des fonctionnalités (d'où l'existence d'hébergeurs de forums!), et je n'ai pas de temps pour me lancer dans le php juste pour faire un forum.
2) Comment rapatrier tout ce qui a déjà été fait ici?
Une solution est de fermer celui-ci mais de le laisser en lecture seule, et de poster sur l'autre (une fois qu'il sera aménagé).
Re: Construction avec les instruments de géométrie
Même si je suis en train de pourrir la discussion sur ce fil, je tiens à te rassurer, je vais encore avoir besoin de toi sous peu pour les figures de la nouvelle traduction que m'a demandée Cassini (pour l'instant je relis le Makarov avant d'envoyer les fichiers).
Re: Construction avec les instruments de géométrie
Bonjour Eric,
Pas de problème pour le coup de main, ce sera avec plaisir. Pour remettre ce fil en accord avec le thème initial, voici l'animation que j'ai faite pour un corrigé sur l'équerre de Newton:
Et le fichier source: equerreNewton.teg
Pas de problème pour le coup de main, ce sera avec plaisir. Pour remettre ce fil en accord avec le thème initial, voici l'animation que j'ai faite pour un corrigé sur l'équerre de Newton:
Et le fichier source: equerreNewton.teg
Dernière édition par P.Fradin le Jeu 20 Nov - 13:29, édité 1 fois
Re: Construction avec les instruments de géométrie
Bonsoir,
Finalement, elle est pas mal mon idée des instruments, moi qui croyais être le seul à m'en servir.
Petite conclusion : on s'en sert et pas qu'en collège!!!!!!!!!
Bonne soirée
Joffrey
Finalement, elle est pas mal mon idée des instruments, moi qui croyais être le seul à m'en servir.
Petite conclusion : on s'en sert et pas qu'en collège!!!!!!!!!
Bonne soirée
Joffrey
Re: Construction avec les instruments de géométrie
Joffrey a écrit:Bonsoir,
Salut Joffrey
Finalement, elle est pas mal mon idée des instruments, moi qui croyais être le seul à m'en servir.
Non non, tu n'es pas le seul!
Petite conclusion : on s'en sert et pas qu'en collège!!!!!!!!!
Il y a beaucoup de courbes paramétrées dites "classiques" qui ont des propriétés permettant de les construire point par point avec des constructions géométriques relativement élémentaires. Il y a donc une mine de ce côté là!
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|