Alphonse Capriani a écrit:Serait il possible de créer un marqueur "Dot" plus général que celui actuel (d'ailleurs, peut être qu'il faudrait l'appeler autrement ) qui permettrait d'utiliser tous les types de points déjà définis (dot, dotcircle, square, square', ...) comme marqueurs (en prenant en plus les paramètres de taille, d'échelle, d'angle et de couleur).
Au pire, ces marqueurs peuvent être créés indépendament dans le fichier markers.mac, mais il y aura des redondances...
elif (type>0) And (type<15) then {Dot}
DotStyle:=type, DotScale:=scale, DotAngle:=Arg(B-A)*rad, Point(B)
[
draw("line", [0, 1, 1+i, i, jump, shift([0, 1, 1+i, i, jump], 0.5*(1-i))],
[FillStyle:=gradient, fillColorA:=crimson, fillColorB:=lightpink, close:=1]),
SetMatrix([-1.75*i, 1, i]),
draw("line", [0, 1, 1+i, i, jump, shift([0, 1, 1+i, i, jump], 0.5*(1-i))],
[FillStyle:=full, FillColor:=crimson, close:=1]),
]
Alphonse Capriani a écrit:C'est parfait tout ces changements : y a une mise à jour à télécharger quelque part pour tester tout ca?
Sinon, j'ai finalement quelques remarques à faire sur le modèle draw2d.
D'abord, je pense que ce serait bien si tu pouvais modifier les noms de variable du genre "fillColorA" ou "fillColorB" en "FillColorA", "FillColorB", ... Avec les noms actuels, on sait jamais où et quand mettre des majuscules ou des minuscules, ce qui est parfois pénible (enfin je trouve ) Personellement, je me suis fixé quelques règles à ce sujet : si ca peut être utile à quelqu'un, je vous les dit ici. En fait, j'essaie autant que possible de nommer mes macros et mes variables avec des noms qui sont une mise bout à bout de mots commencant par une majuscule (et dont le reste du mot est en minuscule évidemment) Par exemple, dans cristallo.mac, on a la macro DrawFrise ou encore la variable BackgroundFillColor. J'essaie en plus de cet règle de respecter une certaine cohérence entre les variables que je crée et les variable prédéfinies de TeXgraph (BackgroundFillColor <--> FillColor)
Autre remarque plus importante que la précédente : je n'arrive pas à exporter mes graphique en pdf ou pdf compilé si j'utilise un remplissage de type gradient radial (j'ai pas essayé l'export avec le gradient linéaire...) C'est pénible!!!
Je trouve aussi que la gestion de la superposition des lignes polygonales est à modifier comme en témoigne la figure suivante :
- Code: Tout sélectionner
[
draw("line", [0, 1, 1+i, i, jump, shift([0, 1, 1+i, i, jump], 0.5*(1-i))],
[FillStyle:=gradient, fillColorA:=crimson, fillColorB:=lightpink, close:=1]),
SetMatrix([-1.75*i, 1, i]),
draw("line", [0, 1, 1+i, i, jump, shift([0, 1, 1+i, i, jump], 0.5*(1-i))],
[FillStyle:=full, FillColor:=crimson, close:=1]),
]
La 2è figure est réalisée avec un remplissage de type full : dans ces condition, on obtient bien l'image recherché. Par contre, en mode gradient, le résultat n'est pas celui que j'attendais...
[
draw("line", [0, 1, 1+i, i,],
[FillStyle:=gradient, fillColorA:=crimson, fillColorB:=lightpink, close:=1]),
draw("line", shift([0, 1, 1+i, i], 0.5*(1-i)),
[FillStyle:=gradient, fillColorA:=crimson, fillColorB:=lightpink, close:=1]),
SetMatrix([-1.75*i, 1, i]),
draw("line", [0, 1, 1+i, i, jump, shift([0, 1, 1+i, i, jump], 0.5*(1-i))],
[FillStyle:=full, FillColor:=crimson, close:=1]),
]
A noter qu'on retrouve ce problème avec le style de remplissage full si on utilise "path" plutot que "line" dans la macro draw.
Enfin, une petite suggestion : je pense qu'il serait peut être bien de profiter de ce fichier pour (enfin) créer de nouveaux types de lignes comme jel'ai depuis très longtemps suggéré. A l'époque, je me souviens que tu m'avais dit que ca serait complique, mais je crois que tu m'avais dit la même chose pour les points. Vu l'évolution dans ce fichier des possibilités pour les lignes polygonales, je pense que maintenant ca doit pouvoir se faire, non?
[
view(-5,5,-5,5), Marges(0,0,0,0), size(9),
background(full,darkblue), Color:=white, Width:=12,
draw("line", [-4-4*i,4+4*i], [Arrows:=2]),
draw("path", [2,0,2,3,ellipse], [lineborder:=20, bordercolor:=darkblue]),
draw("line", [-4+4*i,4-4*i], [Arrows:=2,lineborder:=20, bordercolor:=darkblue])
]
[
view(-5,5,-5,5), Marges(0,0,0,0), size(9),
FrenchBabel:=1,
background(full,darkblue), Color:=white, Width:=5*mm, LineJoin:=miter,
draw("line", carre(-3-3*i,3-3*i,1), [close:=1, doubleline:=1, doublecolor:=yellow, FillStyle:=gradient])
]
Alphonse Capriani a écrit:Ah! Mais ca m'a l'air très bien tout ca!!!
T'as toujours pas de fichier avec lequel je pourrais tester tout ca?
A noter que je viens de tomber sur une bizarrerie avec les remplissage de type gradients. Je vais poster une illustration et son code de ce problème...
[
background(full, lightgray),
draw("path", [1, 0, circle], [FillStyle:=gradient, GradStyle:=radial])
]
[
view(-5,5,-5,5), Marges(0,0,0,0), size(9),
background(full,darkblue), LineJoin:=miter,
draw("line", rect(-4-4*i,4-4*i,4+4*i,1),
[close:=1, FillStyle:=full, FillColor:=lightgray, lineborder:=100]),
SaveWin(), view(-4,4,-4,4),
draw("path", [-5, -2+2*i, circle],
[Width:=12, FillStyle:=gradient, GradStyle:=radial, doubleline:=1]),
SetMatrix( matrix( z*exp(i*pi/3)+2-1.5*i) ),
draw("path", [4,0,4,2,ellipse],
[Width:=8, FillStyle:=gradient, FillColorB:=darkgreen]),
RestoreWin()
]
Revenir vers Version intermédiaire
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité