Re: Metapost: punto su segmento

#47831
Up
0
Down
::

Ciao,
come è noto se a e b sono due punti quello corrispondente al punto di mezzo del segmento può essere espresso come:`pair a,b,m;
a := (80,120);
b :=(280,240);
m := 0.5[a,b]; % numero per [ pair, pair ]
`

A questo punto, se si vuole disegnare un segmento che sborda diciamo di un 20% oltre i punti di definizione per simulare il disegno di una retta che passa per due punti, immaginavo si potesse scrivere:`beginfig(1);
pair a,b;
a := (80,120);
b := (280,240);

draw -0.2[a,b]–1.2[a,b];
drawdot a withpen pencircle scaled 3;
drawdot b withpen pencircle scaled 3;
endfig;
end`

Se provate (ho completato il codice delle istruzioni complete per il sorgente compilabile), mentre il secondo punto sborda correttamente oltre il punto b, il primo non corrisponde a quello previsto ma è di poco diverso.
Sembra che i numeri negativi non siano supportati correttamente, infatti se inverto tutto torna perfettamente a posto:`draw 1.2[b,a]–1.2[a,b];`.
La sintassi di Metapost prevista è questa:
[,]

quindi dovrebbe essere supportato l’uso di numeri negativi.
Cosa ne pensate?

Sbagli le precedenze: -0.2 non è un ; quindi quello che ottieni è equivalente a -(0.2[a,b]) che è molto diverso da (-0.2)[a,b]

Ciao
Enrico

Go to top