GraphicTransform- Modifica los coeficientes de transformación del gráfico
Modifica los coeficientes de transformación geométrica aplicados al sistema de coordenadas del gráfico durante la renderización de las figuras.
- GraphicTransform(TX, TY)
Parámetros:
- TX (float): coeficiente de transformación en el eje horizontal (X).
- TY (float): coeficiente de transformación en el eje vertical (Y).
Descripción:
La instrucción `GraphicTransform` define los factores de transformación aplicados a las coordenadas gráficas antes del dibujo efectivo de las figuras. Esta función permite alterar el comportamiento geométrico de todo el gráfico interviniendo directamente en los ejes X e Y, permitiendo: escalado horizontal; escalado vertical; inversión especular (mirroring); deformación proporcional o no proporcional; volteo del dibujo.
Los valores de transformación se aplican multiplicando las coordenadas a lo largo de cada eje. También se calcula un offset automático que permite mantener el dibujo dentro del área gráfica visible. La instrucción es independiente de GraphicScale y GraphicOffset.
Valores estándar:
- TX = 1: ninguna transformación horizontal;
- TY = 1: ninguna transformación vertical.
El valor (1,1) representa, por lo tanto, la configuración neutra predefinida.
Efectos de los valores:
Valores mayores de 1: Amplían el gráfico a lo largo del eje correspondiente.
Valores entre 0 y 1: Reducen el gráfico a lo largo del eje correspondiente.
Valores negativos: Invierten el sentido del eje, produciendo un efecto especular.
Constantes asociadas:
Los valores actuales de la transformación están disponibles mediante dos constantes: TransformX y TransformY. Estas constantes permiten leer o reutilizar de forma dinámica la configuración actual.
Ejemplos:
Dibujar dos líneas especulares
Line(0,0, 20,50)
GraphicTransform(-1,1)
Line(0,0, 20,50)
La segunda línea se reflejará con respecto al eje horizontal.
Comprimir verticalmente un rectángulo
GraphicTransform(1,0.5)
Rectangle(10,10, 40,30)
La altura de la figura se reducirá un 50%.
Voltear verticalmente una figura
GraphicTransform(1,-1)
Triangle(30,30, 50,60, 10,60)
El triángulo se renderizará con inversión vertical con respecto al origen.
Agrandar horizontalmente
GraphicTransform(2,1)
Ellipse(20,20,15,10)
La elipse aparecerá extendida a lo largo del eje X.