Le fichier papiers.mac

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

Le fichier papiers.mac

Message  P.Fradin le Ven 19 Déc - 23:25

Le fichier papiers.mac est proposé par Joffrey Cottin, il contient la macro:
papier( type, coin inf gauche, coin sup droit <,[options]>)


qui permet de dessiner différents types de papiers quadrillés:
-> papier millimétré (type=milli)
-> papier petits carreaux (type=petitcar)
-> papier grands carreaux (type=grandcar)
-> papier quadrillé par des points (type=point1 ou point2 ou point3)

le deuxième argument est l'affixe du coin inférieur gauche, le troisième argument est l'affixe du point supérieur droit. Les options possibles sont:

-> gridcolor:=couleur: couleur de la grille principale, black par défaut
-> subgridcolor:=couleur: couleur de la grille secondaire, Rgb(0.66, 0.66, 0.5) par défaut
on peut également modifier les attributs (Width, LineStyle, ...) dans les options.

Télécharger: papiers.zip ( version 0.2 du 30/01/09)

Exemple:

Code:

[view(-6,5,-5,6),
papier(grandcar, M(-6,1),M(-1,6), [gridcolor:=blue, subgridcolor:=lightblue]),
papier(point1, M(0,1),M(5,6)),
papier(point3, M(-6,-5),M(-1,0)),
papier(milli, M(0,-5),M(5,0)) ]

donnera:

Toutes les questions/suggestions concernant ce fichier seront les bienvenues dans ce fil.


Dernière édition par P.Fradin le Ven 30 Jan - 12:21, édité 1 fois

_________________
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: Le fichier papiers.mac

Message  Alphonse Capriani le Sam 20 Déc - 2:23

Très bien ce petit fichier : ca peut rendre service...

J'ai juste une petite suggestion. Il pourrait être intéressant de rajouter les papier logrithmique, semi-logarithmique, ... Pour ces papiers, je crois que les macros avaient déjà été faites. Elles figuraient peut etre meme dans une ancienne version de TeXgraph en exemple!!!
Il existe aussi des papiers du même genre que le papier millimétré, mais en coordonnées polaires. (A première vu, j'en voit pas forcément l'utilité, mais c'est pour que le fichier soit encore mieux!!! Wink )

Alors Patrick : tu va bien relever le défi...

Alphonse Capriani

Nombre de messages : 374
Age : 56
Localisation : East Harlem - NY
Date d'inscription : 21/01/2008

Voir le profil de l'utilisateur http://www.mediafire.com/?sharekey=61c7f7ce30421d314012e8015643d

Revenir en haut Aller en bas

Re: Le fichier papiers.mac

Message  Joffrey le Mar 13 Jan - 0:00

Bonsoir à tous, et comme l'occasion ne m'avait pas encore été donné, je souhaite une très bonne année à l'ensemble des membres de ce forum.

J'ai utilisé papiers.mac et j'ai noté un "bug" pour le papier millimétré, au niveau de l'épaisseur des traits et des différentes "grilles" qui le compose, voici mon code avec les modifs :
Code:
200#
{papiers.mac version 0.1 du 18/12/08 Joffrey Cottin}

Var papiersvernum = 0.1;
    gridcolor = black;
    subgridcolor = Rgb(0.66,0.66,0.5);
    milli = 0;
    petitcar = 1;
    grandcar = 2;
    point1  =  3;
    point2  =  4;
    point3  =  5;

Mac

    papier = [{papier( type, coin inf gauche, coin sup droit <, options>)
      options:
      gridcolor := <couleur> (black par défaut)
      subgridcolor := <couleur> (Rgb(0.66,0.66,0.5) par défaut)
      ou attributs classiques comme Width:= ,...
                }

   $type:=%1, $x1:=%1, $x2:=%3, gridcolor:=black, subgridcolor:= Rgb(0.66,0.66,0.5), subsubgridcolor:=white, Width:=2,
   $aux:=Eval(String(%4)), SaveAttr(), SetMatrix([%2,1/Xscale,i/Yscale]),
   $x1:=Re(%2), $x2:=Re(%3), $y1:=Im(%2), $y2:=Im(%3), $largeur:=(x2-x1)*Xscale, $hauteur:=(y2-y1)*Yscale,
   if type=milli then
       {subsubgrid}
      Width:=0.085*mm,
      Color:=subsubgridcolor,
      Ligne( [for $k from 0 to largeur step 0.1 do  k , k+hauteur*i , jump od,
              for k from 0 to hauteur step 0.1 do  k*i , largeur+k*i , jump od
               ],0),
      {subgrid}
      Width:=0.17*mm,
      Color:=subgridcolor,
      Ligne( [for $k from 0 to largeur step 0.5 do  k , k+hauteur*i , jump od,
              for k from 0 to hauteur step 0.5 do  k*i , largeur+k*i , jump od
               ],0),
      {grid}
      Width:=0.34*mm,
      Color:=gridcolor,
      Ligne( [for k from 0 to largeur step 1 do k , k+hauteur*i , jump od,
              for k from 0 to hauteur step 1 do k*i , largeur+k*i , jump od
               ],0)   
   elif type=petitcar then
      {subgrid}
      Color:=subgridcolor,
      Ligne( [for k from 0 to largeur step 0.5 do  k , k+hauteur*i , jump od,
              for k from 0 to hauteur step 0.5 do  k*i , largeur+k*i , jump od
                  ],0),
      {grid}
      Color:=gridcolor,
      Ligne( [for k from 0 to largeur do k , k+hauteur*i , jump od,
              for k from 0 to hauteur do k*i , largeur+k*i , jump od
               ],0)
   elif type=grandcar then
      {subgrid}
      Color:=subgridcolor,
      Ligne( [for k from 0 to largeur do k , k+hauteur*i , jump od,
              for k from 0 to hauteur step 0.25 do  k*i , largeur+k*i , jump od
            ],0),
      {grid}
      Color:=gridcolor,
      Ligne( [for k from 0 to largeur do k , k+hauteur*i , jump od,
              for k from 0 to hauteur do k*i , largeur+k*i , jump od
               ],0),
   elif type=point1 then
      Point( for k from 0 to largeur step 0.5 do
              for $z from 0 to hauteur step 0.5 do k+z*i od
          od),
   elif type=point2 then
      Point( for k from 0 to largeur step 1 do
              for z from 0 to hauteur step 1 do k+z*i od,
          od),
   elif type=point3 then
      Point( [for z from 0 to hauteur do
              for k from 0 to largeur do k+z*i  od
           od,
          for z from 0.5 to hauteur-0.5 do
              for k from 0+.5 to largeur-0.5 do k+z*i od,
          od])
   fi,
   RestoreAttr()];

La différence n'est pas visible à l'écran (sur le mien en tout cas) par contre à l'impression on a vraiment du papier millimétré.

Seul inconvénient encore, c'est la couleur, orange ou bleu serait bien par contre à l'impression ça ne rend rien, alors en plus quand il faut photocopier par la suite... C'est pour cela que je choisi :
Code:
subgridcolor:=black, subsubgridcolor:=black
Est-ce un problème de mon imprimante ou un problème d'impression en général?
Sinon on peut aussi décider d'arrêter de se prendre la tête pour un dixième de millimètre et aller acheter un stock de feuille chez Canson, mais évidemment ça perd son charme...

Bonne soirée

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: Le fichier papiers.mac

Message  P.Fradin le Mar 13 Jan - 1:36

Bonsoir Joffrey et bonne année à toi aussi,

Je te propose cette version:

Code:

200#
{papiers.mac version 0.2 du 12/01/09 Joffrey Cottin}

Var papiersvernum = 0.2;
    gridcolor = black;
    subgridcolor = Rgb(0.3,0.3,0.3);
    subsubgridcolor = gray;
    milli = 0;
    petitcar = 1;
    grandcar = 2;
    point1  =  3;
    point2  =  4;
    point3  =  5;

Mac

    papier = [{papier( type, coin inf gauche, coin sup droit <, options>)
      options:
      gridcolor := <couleur> (black par défaut)
      subgridcolor := <couleur> (Rgb(0.66,0.66,0.5) par défaut)
      ou attributs classiques comme Width:= ,...
                }

   $type:=%1, $x1:=%1, $x2:=%3, gridcolor:=black, subgridcolor:= Rgb(0.3,0.3,0.3), subsubgridcolor:=gray, Width:=2,
   $aux:=%4, SaveAttr(), SetMatrix([%2,1/Xscale,i/Yscale]),
   $x1:=Re(%2), $x2:=Re(%3), $y1:=Im(%2), $y2:=Im(%3), $largeur:=(x2-x1)*Xscale, $hauteur:=(y2-y1)*Yscale,
   if type=milli then
                {subsubgrid}
                Width:=1, {0.085*mm,}
                Color:=subsubgridcolor,
                Ligne( [for $k from 0 to largeur step 0.1 do
                            if mod(k,5)<>0 then k , k+hauteur*i , jump fi od,
                        for k from 0 to hauteur step 0.1 do
                            if mod(k,5)<>0 then k*i , largeur+k*i , jump fi od
                        ],0),
                {subgrid}
                Width:=2, {0.17*mm,}
                Color:=gridcolor,
                Ligne( [for $k from 0.5 to largeur do  k, k+hauteur*i , jump od,
                        for k from 0.5 to hauteur do  k*i, largeur+k*i , jump od
                        ],0),
                {grid}
                Width:=4, {0.34*mm,}
                Color:=gridcolor,
                Ligne( [for k from 0 to largeur do k, k+hauteur*i , jump od,
                        for k from 0 to hauteur do k*i, largeur+k*i , jump od
                        ],0) 
   elif type=petitcar then
      {subgrid}
      Color:=subgridcolor, Width:=1,
      Ligne( [for k from 0.5 to largeur  do  k, k+hauteur*i , jump od,
              for k from 0.5 to hauteur  do  k*i, largeur+k*i , jump od
                  ],0),
      {grid}
      Color:=gridcolor, Width:=2,
      Ligne( [for k from 0 to largeur do k, k+hauteur*i , jump od,
              for k from 0 to hauteur do k*i, largeur+k*i , jump od
               ],0)
   elif type=grandcar then
      {subgrid}
      Color:=subgridcolor,
      Ligne( for k from 0 to hauteur step 0.25 do if mod(k,4)<>0 then k*i,largeur+k*i, jump fi od,0),
      {grid}
      Color:=gridcolor,
      Ligne( [for k from 0 to largeur do k , k+hauteur*i , jump od,
              for k from 0 to hauteur do k*i , largeur+k*i , jump od
               ],0),
   elif type=point1 then
      Point( for k from 0 to largeur step 0.5 do
              for $z from 0 to hauteur step 0.5 do k+z*i od
          od),
   elif type=point2 then
      Point( for k from 0 to largeur do
              for z from 0 to hauteur do k+z*i od,
          od),
   elif type=point3 then
      Point( [for z from 0 to hauteur do
              for k from 0 to largeur do k+z*i  od
           od,
          for z from 0.5 to hauteur-0.5 do
              for k from 0+.5 to largeur-0.5 do k+z*i od,
          od])
   fi,
   RestoreAttr()];

J'ai ajouté subsubgridcolor dans les déclarations et je l'ai initialisé à gray, d'autre part j'ai traduit les épaisseurs en entiers et j'ai supprimé les traits qui étaient tracés inutilement (car recouverts par un autre trait). Après quelques tests sur mon écran et mon imprimante j'ai mis subgricolor=Rgb(0.3,0.3,0.3) et laissé gridcolor=black ce qui me parait pas mal. Si tu es d'accord je mets à jour le fichier papiers.zip dans le post initial.

Ce genre de problème est tout à fait normal et incontournable pour une imprimante noir et blanc. Le mieux c'est une impression couleur avant photocopie!

_________________
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: Le fichier papiers.mac

Message  Joffrey le Mer 14 Jan - 23:01

Bonsoir,

Désolé de répondre si tardivement.

P.Fradin a écrit :
Ce genre de problème est tout à fait normal et incontournable pour une imprimante noir et blanc. Le mieux c'est une impression couleur avant photocopie!

J'utilise pourtant une imprimante laser couleur, le rendu que moi j'en ai est très bien, le problème vient de la photocopieuse. (je me suis mal exprimé dans mon dernier message)
En tout cas j'essaie ce soir et je te tiens au courant, sinon je ne doute pas que les modifications que tu as apportées sont tres bien.

P.Fradin a écrit :
Si tu es d'accord je mets à jour le fichier papiers.zip dans le post initial.

Pas de probleme.

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: Le fichier papiers.mac

Message  Contenu sponsorisé Aujourd'hui à 6:01


Contenu sponsorisé


Revenir en haut Aller en bas

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