GraphicTransform- Modifica i coefficienti di trasformazione del grafico
Modifica i coefficienti di trasformazione geometrica applicati al sistema di coordinate del grafico durante la renderizzazione delle figure.
- GraphicTransform(TX, TY)
Parametri:
- TX (float): coefficiente di trasformazione sull’asse orizzontale (X).
- TY (float): coefficiente di trasformazione sull’asse verticale (Y).
Descrizione:
L’istruzione `GraphicTransform` definisce i fattori di trasformazione applicati alle coordinate grafiche prima del disegno effettivo delle figure. Questa funzione consente di alterare il comportamento geometrico dell’intero grafico intervenendo direttamente sugli assi X e Y, permettendo: scalatura orizzontale; scalatura verticale; inversione speculare (mirroring); deformazione proporzionale o non proporzionale; ribaltamento del disegno.
I valori di trasformazione vengono applicati moltiplicando le coordinate lungo ciascun asse. Altresì viene calcolato un offset automatico che consente di mantenere il disegno all'interno dell'area grafica visibile. L'istruzione è indipendente da GraphicScale e GraphicOffset.
Valori standard:
- TX = 1: nessuna trasformazione orizzontale;
- TY = 1: nessuna trasformazione verticale.
Il valore (1,1) rappresenta quindi la configurazione neutra predefinita.
Effetti dei valori:
Valori maggiori di 1: Ampliano il grafico lungo l’asse corrispondente.
Valori compresi tra 0 e 1: Riducono il grafico lungo l’asse corrispondente.
Valori negativi: Invertono il verso dell’asse, producendo un effetto speculare.
Costanti associate:
I valori correnti della trasformazione sono disponibili tramite due costanti: TransformX e TransformY. Queste costanti consentono di leggere o riutilizzare in modo dinamico la configurazione attuale.
Esempi:
Disegnare due linee speculari
Line(0,0, 20,50)
GraphicTransform(-1,1)
Line(0,0, 20,50)
La seconda linea verrà riflessa rispetto all’asse orizzontale.
Comprimere verticalmente un rettangolo
GraphicTransform(1,0.5)
Rectangle(10,10, 40,30)
L’altezza della figura sarà ridotta del 50%.
Capovolgere verticalmente una figura
GraphicTransform(1,-1)
Triangle(30,30, 50,60, 10,60)
Il triangolo verrà renderizzato con inversione verticale rispetto all’origine.
Ingrandire orizzontalmente
GraphicTransform(2,1)
Ellipse(20,20,15,10)
L’ellisse apparirà estesa lungo l’asse X.