DiGrande.it
Braille e Tecnologie per la Disabilità Visiva

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.