graduer un segment

Page 2 sur 2 Précédent  1, 2

Voir le sujet précédent Voir le sujet suivant Aller en bas

Re: graduer un segment

Message  P.Fradin le Mer 27 Aoû - 15:58

Bonjour Jeoffrey,

C'est superbe! Si tu veux tu peux créer un post dans la rubrique Animations pour y mettre celles-ci avec leur source. De mon côté je vais modifier le compas et le crayon en conséquence.

_________________
P.Fradin

P.Fradin
Admin

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

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: graduer un segment

Message  P.Fradin le Mer 27 Aoû - 17:30

J'ai oublié de préciser pour les couleurs je n'avais pas fait de tableau dans le fichier pdf car il était déjà dans l'aide html (F1 dans l'interface graphique puis section couleurs).

Mais pour ceux qui tapent le code TeXgraph directement dans un source LaTeX, c'est bien d'avoir les références des couleurs sur papier, et donc merci pour eux!

_________________
P.Fradin

P.Fradin
Admin

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

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: graduer un segment

Message  Joffrey le Mer 27 Aoû - 21:19

Effectivement, je n'avais pas cherché du côté de l'aide.

lol! Je suis rassuré tu n'avais pas oublié les couleurs Laughing

Joffrey

Joffrey

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

Voir le profil de l'utilisateur http://mathex.servhome.org

Revenir en haut Aller en bas

Re: graduer un segment

Message  P.Fradin le Jeu 28 Aoû - 1:04

Voilà j'ai fait les quelques modifications:

Code:

200#
Mac
    compas = [  $dir:=1, $unit:=1, $long:=5, $mine:=black, $posmine:=Nil, {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}
       if posmine<>Nil then
         $B:= RealCoord(posmine), dir:=B-A, long:=abs(dir), unit:=1
       else  $dir:=RealCoordV(dir)
       fi,
       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,
       Width:=8,
       Ligne([C-0.05*cm,C+0.05*cm,jump,C+0.05*I, C-0.05*I],0),
       Width:=2,

       {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, $angle:=Nil, {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}
       if angle=Nil then $dir:=RealCoordV(dir) {direction}
       else dir:=exp(i*(pi/2+angle*deg))
       fi,
       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 défaut)
     unit:= nombre (unite en cm, 1 par défaut)
     mine:= couleur de la mine (noir par défaut)
     posmine:= affixe de la mine (Nil par défaut, si cette option est différente de Nil,
     alors elle l'emporte sur long, dir et unit)

    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 défaut)
     angle:= angle en degrés que fait le crayon avec la verticale Oy (Nil par défaut,
     si cette option est différente de Nil alors elle l'emporte sur long et dir)

    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 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)
     fond:= couleur de l'équerre (lightgray par defaut)
     labels:= 0/1 indique la présence ou non des graduations (1 par défaut)

     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 défaut)

     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 graduée (5 cm par defaut)
     dir:= vecteur directeur de la régle (1 par defaut)
     unit:= nombre (unite en cm, 1 par défaut)
     fond:= couleur de la régle (lightgray par defaut)
     labels:= 0/1 indique la présence ou non des graduations (1 par défaut)

     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
   );

L'ancienne syntaxe reste valable. Ce qui change:

pour le compas: il y a une option en plus posmine qui est à Nil par défaut et qui représente l'affixe de la mine, lorqu'elle vaut Nil les options unit dir et long sont prises en compte, lorsque posmine<>Nl les options unit, dir et long ne sont pas prises en compte.

pour le crayon: il y a une option en plus angle qui est à Nil par défaut et qui représente l'angle en degrés que fait le crayon par rapport à la verticale Oy, lorque angle=Nil l'option dir est prise en compte, lorsque angle=Nil l'option dir est prise en compte.

_________________
P.Fradin

P.Fradin
Admin

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

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: graduer un segment

Message  samuel.biton le Ven 29 Aoû - 18:54

Bonjour Jeoffrey et Patrick,

vraiment bravo pour ces instruments...il faut intégrer ce fichier de macro à TeXgraph !!!


Samuel

samuel.biton

Nombre de messages : 25
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: graduer un segment

Message  P.Fradin le Ven 29 Aoû - 19:05

samuel.biton a écrit:Bonjour Jeoffrey et Patrick,

Salut Samuel!

Content de revoir parmi nous!

vraiment bravo pour ces instruments...il faut intégrer ce fichier de macro à TeXgraph !!!
Samuel

Ca y est! Dans la version test toute fraîche!

_________________
P.Fradin

P.Fradin
Admin

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

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: graduer un segment

Message  Contenu sponsorisé Aujourd'hui à 2:07


Contenu sponsorisé


Revenir en haut Aller en bas

Page 2 sur 2 Précédent  1, 2

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum