Extrémités d'un segment

Pour proposer des idées, ou simplement discuter

Extrémités d'un segment

Messagepar Joffrey » 09 Oct 2009 21:47

Bonsoir,

J'ai souvent eu besoin de dessiné les extrémités d'un segment, plutôt que de leur faire à chaque fois, je propose une macro qui le gère directement si un troisième argument est renseigné.
Code: Tout sélectionner
SegM = {SegM(A,B <,[option]>)
     si option est renseigné, alors les extremites du segment sont dessinees
   }
[
SaveAttr(),
Ligne([%1,%2],0),
if %3<>Nil then
Ligne([%1+(%2-%1)/abs(%2-%1)*xyticks*i, %1-(%2-%1)/abs(%2-%1)*xyticks*i, jump,
       %1,%2, jump,
       %2+(%2-%1)/abs(%2-%1)*xyticks*i, %2-(%2-%1)/abs(%2-%1)*xyticks*i
       ],0)
fi,
RestoreAttr()
]


Le code :

Code: Tout sélectionner
Marges(0,0,0,0),
Fenetre(-3.5+2.5*i, 2.5-2*i,1+i),
SegM(-2+2*i, 2,1),
SegM(-2+i, 2-i),
SegM(-3-i, 1-i,1),
SegM(-2-1.5*i, 2-1.5*i),


Donne :

Image

On peut aussi envisager de coupler cette nouvelle option avec des macros comme LabelSeg, markSeg, non :?:
Si l'idée intéresse, on peut aussi intégrer cette fonctionnalité directement dans la macro Seg, re-non :?:

Bonne soirée
L'homme en noir fuyait à travers le désert, et le Pistoléro le suivait ...
Joffrey
 
Messages: 286
Inscription: 16 Juil 2009 17:05
Localisation: Vichy

Re: Extrémités d'un segment

Messagepar P.Fradin » 09 Oct 2009 22:03

Bonsoir Joffrey,

Ta proposition est intéressante, elle relance le problème des marqueurs de lignes. Il y a un modèle qui gère cela mais il est non documenté. Cela me fait dire qu'il faut le developper, il s'appelle: marker.mod. Ton exemple correspondrait alors à ce code:


Code: Tout sélectionner
[
Marges(0,0,0,0),
Fenetre(-3.5+2.5*i, 2.5-2*i,1+i),
lineHeight:=xyticks,
Seg(-2+i, 2-i), Seg(-2-1.5*i, 2-1.5*i),  {sans marqueurs}
withMark([ Seg(-2+2*i, 2), Seg(-3-i, 1-i,1)], Line,Line), {avec marqueurs}
]   


segments.png
segments.png (2.9 Kio) Consulté 4726 fois


Bien sûr, il y a plusieurs type de marqueurs.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1837
Inscription: 29 Oct 2008 15:04

Re: Extrémités d'un segment

Messagepar Joffrey » 09 Oct 2009 22:23

C'est vrai je connais ce modèle mais je n'ai pas le réflexe d'aller le chercher et j'avoue ne m'en être servi que pour des fonctions définies par morceaux.

Code: Tout sélectionner
Bien sûr, il y a plusieurs type de marqueurs.


J'en profite pour faire une demande, on le redirigera s'il faut faire un autre fil, lorsque l'on utilise Arrows:=1 ou 2 ou encore lorsque l'on utilise la macro flecher ne pourrait-on pas avoir le choix de la flèche, c'est-à-dire la flèche classique ou les contours d'un triangle ou encore un triangle plein, disponible dans marker.mod ?
L'homme en noir fuyait à travers le désert, et le Pistoléro le suivait ...
Joffrey
 
Messages: 286
Inscription: 16 Juil 2009 17:05
Localisation: Vichy

Re: Extrémités d'un segment

Messagepar P.Fradin » 09 Oct 2009 22:30

Actuellement non, car la gestion de Arrows est faite en interne et n'utilise donc pas le modèle marker.mod. Mais je pense qu'une amélioration serait de généraliser la notion de flèche (Arrows) à celle de marqueurs en généralisant aussi les positions possibles des marqueurs (pas seulement le début et la fin).
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1837
Inscription: 29 Oct 2008 15:04


Revenir vers Propositions - Discussions

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron