Transformaciones Geométricas: Ontents Ransformaciones Y Coordenadas Homogéneas
Transformaciones Geométricas: Ontents Ransformaciones Y Coordenadas Homogéneas
Transformaciones Geométricas: Ontents Ransformaciones Y Coordenadas Homogéneas
Transformaciones geométricas
y
y
t
y
(-1,1,4)
(x2,y2)
t
x
(x1,y1) x z
y y
-45 grados
-20 grados
45 grados
x
x
z x z z
B. Reflexión
y’=2y
escala 2 Una transformación de reflexión realiza la imagen especular
y
x
escala 1/2 de la figura geométrica sobre la que se aplica. Para ello hay
x
x’=2x
x
x
que establecer un eje o plano de reflexión dependiendo de si
trabajamos en 2D o 3D. Las matrices de reflexión en el eje X
y en el eje Y en 2D son respectivamente:
Fig. 4: Escalado de objetos y puntos en 2D (izquiera) y en 3D
(derecha).
−1 0 0 1 0 0
Ref lexX(s) = 0 1 0 , Ref lexY (s) = 0 −1 0
Para hacer la escala de un objeto en 3D multiplicamos los 0 0 1 0 0 1
puntos que lo componen por los factores de escala sx , sy y (20)
sz . La figura 6 muestra una operación de reflejo con respecto
x0 = sx · x, y 0 = sy · y, z 0 = sz · z (17) al eje y.
4
y y
Paso1
(Tx, Ty)
Paso2
Paso1
(Tx, Ty)
θ
Paso2
θ
x x
a) b)
Fig. 6: Ejemplo de operación de reflejo extraído de [1] Fig. 8: Invertir el orden de las transformaciones altera sig-
nificativamente el resultado final: en la parte (a) primero se
traslada y luego se gira. En la parte (b) primero se gira y
luego se traslada.
y
Punto
Fijo (Xp, Yp)
Punto de
Pivote
(Xr,Yr) θ
Paso 1
Paso 2
θ x
Transform {
hace que el texto se desplace 30 unidades en x y se rote 45 scale 2 1 2
grados empleando el punto (50, 50) como pivote. Las transfor- rotation 0 1 0 0.78
translation 1 1 1
maciones se aplican en orden inverso a como son declaradas, children [
en este caso primero se rota y luego se traslada. Entre las ...
]
transformaciones que incluye el lenguaje están translate, }
scale, rotate, skewX, skewY y matrix. Esta última permite
especificar literalmente la matriz de transformación completa. Todos los objetos que se declaran dentro del apartado
children se ven afectados por las transformaciones de escala,
VII. E L GRAFO DE ESCENA rotación y traslación que se declaran justo antes. Cuando se
La mayoría de escenas admite una organización jerárquica. computan las transformaciones todas ellas afectan a todos los
La figura 10 extraída de [1] muestra las relaciones jerárquicas elementos vinculados como hijos en niveles inferiores de la
de un grupo de objetos sencillos. jerarquía.
En el estándar de especificación de gráficos 3D VRML
(Virtual Reality Moldeling Language, se utiliza el concepto de VIII. M ÁS INFORMACIÓN
nodo para agrupar objetos. Un nodo puede agrupar diferentes Los libros básicos de referencia sobre informática gráfica,
formas (shapes) que contienen a su vez los elementos gráficos. todos suelen incluir un capítulo o varios sobre transforma-
En la figura 10 podría haber un nodo que contenga la ciones geométricas. Por ejemplo, el capítulo 5 de [2] está
carrocería del coche y las ruedas. Otro nodo diferente podría dedicado a este asunto con una interesante extensión dedicada
incluir el barco y el coche. La relación jerárquica entre nodos al cómputo eficiente de estas matrices. En [3] se profundiza
configura el grafo de escena. Utilizar un grafo de escena tiene dedicando dos capítulos, uno para las transformaciones en
la ventaja de que diferentes elementos de la escena pueden ser 2D (capítulo 10) y otro para las transformaciones en 3D
tratados como un todo. (capítulo 11). Además, el capítulo 12 se dedica a cuestiones de
VRML tiene un tipo de nodo especial que se llama Trans-
form Nodes. A la hora de aplicar una transformación ge- implementación que tienen que ver con la sección VI dedicada
ométrica, las transformaciones se asocian a un nodo que está a primitivas gráficas. El capítulo 6 de [1] es el que más se
en un determinado nivel de la jerarquía. Con este tipo de nodos
se declaran una serie de transformaciones que afectan a todos ajusta al nivel presentado en este tema, habiendo reutilizado
los nodos hijos. En el siguiente ejemplo: incluso varias ilustraciones.
6
R EFERENCES
[1] S. Marschner and P. Shirley, Fundamentals of computer graphics. CRC
Press, 2015.
[2] D. Hearn, M. P. Baker et al., Computer graphics with OpenGL. Upper
Saddle River, NJ: Pearson Prentice Hall„ 2004.
[3] J. D. Foley, F. D. Van, A. Van Dam, S. K. Feiner, J. F. Hughes, E. Angel,
and J. Hughes, Computer graphics: principles and practice. Addison-
Wesley Professional, 2014.