Está en la página 1de 7

Fco.

Javier Melero Rus

Gua Didctica Curso 2016-2017

SEMINARIO. GEOMETRA BSICA PARA INFORMTICA GRFICA


Objetivos:
o
o
o

Refrescar conceptos matemticos aplicables en la asignatura Informtica


Grfica.
Comprender elementos bsicos del clculo vectorial y matricial.
Recordar y aplicar conceptos elementales de trigonometra.

MOTIVACIN
Cuando uno comienza un curso de informtica grfica se piensa que todo son primitivas y su
interaccin con la luz. Sin embargo, en cuanto hay que hacer algo medianamente elaborado,
aparecen las matemticas.
Por ejemplo:
-

Cmo colocar las marcas horarias en la esfera de un reloj?


Cmo hacer que un coche siga una trayectoria curva?
Cmo hacer que la rueda amarilla se mueva y el botn blanco est siempre en la misma
posicin (dando vueltas tambin)?

Ilustracin 21: Tres ilustraciones para las que es fundamental la trigonometra.

Por otro lado, la trigonometra es bsica tambin para posicionar adecuadamente la cmara en
la escena:
Respecto al clculo matricial, en los ejercicios del final del tema 1 ya se plantearon algunas
cuestiones que son bastante recurrentes a la hora de construir una escena 3D:
-

Cmo s hacia qu lado est orientado un polgono?


Cunto tengo que desplazar un objeto para que se posicione en tal lugar?
Cmo se acumulan las transformaciones rgidas en la pila de OpenGL?

Todo esto intentaremos refrescarlo en este seminario, aunque, dicho sea de paso, es algo que
usted debera traer aprendido y asimilado desde su poca de Bachillerato.
Eso s, no llegaremos a ver la ecuacin de iluminacin global, usada en cualquier sistema de
iluminacin realista:

41

Informtica Grfica

TRIGONOMETRA
En primer lugar, vamos a fijar el sistema de coordenadas. En
informtica grfica se suele usar el sistema coordenado de la Ilustracin
22, un sistema cartesiano de 3 dimensiones. En adelante, lo daremos por
supuesto.
Puede que en Internet y en algunas publicaciones de otras reas
cientficas, como las matemticas, vea un sistema coordenado donde los
ejes Z e Y estn intercambiados. Se podra haber usado tambin ese,
pero para nosotros la Z ser la profundidad.
Otro elemento fundamental en la trigonometra es la circunferencia
goniomtrica, trigonomtrica o crculo unidad (Ilustracin 24). Con ella
se representan los valores trigonomtricos, como se ve en la Ilustracin 23

Ilustracin 24:
Circunferencia goniomtrica.

Ilustracin 22: Sistema de


coordenadas de referencia.

Ilustracin 23: Relaciones Trigonomtricas.

Pero comencemos por lo fundamental. Cmo se miden los grados? Como bien sabis, hay dos
medidas: grados sexagesimales o radianes. La relacin es:
grados = 180/ radianes

Esto es importante porque segn el contexto habr que usar grados o radianes. P.ej., la
instruccin glRotate usa grados sexagesimales, pero las funciones sin y cos usan radianes como
argumento.
Adems, hay una serie de razones trigonomtricas que nos vendr bien recordar:

Ilustracin 25: Razones trigonomtricas

42

Gua Didctica Curso 2016-2017

Fco. Javier Melero Rus

EJERCICIOS
V. Dado el tringulo de la ilustracin 5. Si a=5 y b=8, Cunto vale sin(A)?
VI. Si la cmara de OpenGL est mirando en el origen hacia el sentido negativo del eje Z, Cunto
tengo que girarla en el eje Y, por el camino ms corto, para que mire hacia un objeto situado en el
punto:
- (4,0,-2)?
- (-2,0,3)?
- (1,0,0)?
- (0.1,0,1)?
VII. Escribe el cdigo en C que calcule las posiciones de las marcas horarias y de minutos de la
esfera de reloj de la Ilustracin 1. Queremos que como parmetro la funcin tenga el dimetro
de la esfera.
VIII. Es sin(-A) = -sin(A) ?

PUNTOS Y VECTORES
Qu es un punto? Un punto, desde el punto de vista geomtrico,
una localizacin en el espacio. No tiene longitud, anchura, grosor ni
ninguna otra caracterstica. Es una idealizacin, algo que no existe
fsicamente. Se denota con una letra en negrita, p.ej. p.
Cmo se localiza el punto en el espacio? Hay que ponerse de
acuerdo, utilizar un sistema de coordenadas en el cual todos los
puntos estn referenciados con respecto a un origen. En un sistema
grfico, los puntos se colocan en el espacio. En nuestro caso,
utilizaremos un sistema de coordenadas cartesiano, como el de la
Ilustracin 22, que tiene como propiedades que sus bases son
ortogonales.

Ilustracin 26: Puntos O y P

En nuestro caso utilizaremos una notacin vectorial para


representar los puntos p(x,y,z), p.ej. p(3.1, 4.15, 2.92).
Qu es una lnea? Una lnea es tambin un concepto abstracto, la
ruta recta que pasa por dos puntos en el espacio. Muchas veces se
habla coloquialmente de lnea cuando realmente se habla de segmento
de lnea., como se refleja en la Ilustracin 27. Las lneas tampoco tienen
grosor, ni longitud, ni ninguna otra propiedad fsica.

Ilustracin 27: Lnea que


pasa por los puntos C y D.
Segmento de lnea CD

Qu es un vector1? Un vector, matemticamente, es la diferencia


entre dos puntos. El vector tiene una serie de propiedades, como es la
direccin, el sentido (no es lo mismo V=p-q que V=q-p), su magnitud
y, a veces, el punto de inicio, que por defecto es siempre el origen de
coordenadas.
-

Direccin, que viene dada por los dos puntos a restar


Sentido, que viene dado por el orden de la sustraccin
Magnitud, o norma o longitud del vector es la distancia eucldea
entre los puntos. Un vector de magnitud 1 se dice que est
normalizado, o vector unidad.

Ilustracin 28:
Propiedades de un vector

D os vectores son eq uipo len tes cua ndo tienen igua l mdu lo, d irecc in y sen tid o .

Del latn vector, el que acarrea, el que transporta

43

Informtica Grfica

El conjunto de todos los vectores equipolentes entre s


se lla ma vec to r lib re . C ada vec to r fijo es un representante
del vec to r lib re.

La magnitud de un vector se calcula, para n dimensiones, como

| | =

Ilustracin 29: Vectores Libres

2
=1

En el caso concreto de las 3D sera:


2

|| = 2 + 2 + 2
EJERCICIOS
IX. Dados p(3, 5, 2) y q(1, 4, 9). Calcular
- El vector R=p-q
- El vector S=q-p
- |R|
- El vector normalizado

Operaciones con vectores


Un vector puede multiplicarse por
un escalar, generando un nuevo vector
cuyos componentes mantienen las
mismas proporciones relativas, pero de
distinta longitud. El producto de un
escalar a por un vector V se define
como:

aV=Va= (aVx, aVy, aVx)

Ilustracin 30: Vector antes y despus de multiplicar por 1.5

Si el valor de a fuese negativo, el


vector resultante tendra sentido
.

No confundir el producto de un escalar por


un vector con el producto escalar de dos
vectores, que en ingls se denomina dot product.

Ilustracin 31: Suma de vectores

44

Los vectores tambin se pueden sumar entre


s, produciendo otro vector segn la regla del
paralelogramo, mostrada en la Ilustracin 31.
Ntese que en la parte izquierda de la figura
hemos dibujado los vectores A y B flotando es
decir, sin estar anclados a un punto en concreto.

Gua Didctica Curso 2016-2017

Fco. Javier Melero Rus

Para la regla del paralelogramo, se toman como


representantes dos vectores con el origen en comn, se
trazan rectas paralelas a los vectores obtenindose un
paralelogramo cuya diagonal coincide con la suma de los
vectores. Para sumar dos vectores se suman sus respectivas
Ilustracin 32: Regla del paralelogramo.
componentes.
P ara resta r dos

vectores libres U y V se suma U con el opuesto


de V. Las componentes del vector resta se obtienen restando las
componentes de los vectores.
Ilustracin 33: Resta de vectores.

EJERCICIOS
X. Calcula el valor de k sabiendo que el mdulo del vector vector V= (k, 3) es 5.
XI. Si vector V es un vector de componentes (3, 4), hallar un vector unitario de su misma
direccin y sentido
XII. Calcular el vector W=U+V, si U=(3, 5), V=(1, 1)

Producto escalar
El producto escalar de dos vectores es una de las operaciones ms intensivamente utilizadas en
los grficos 3D, ya que proporciona la medida de la diferencia entre las direcciones de dos vectores.
Se define como:

=
=1

Por tanto, el producto escalar de dos vectores viene dado por la suma de los productos de cada
componente. En tres dimensiones, tenemos:

PQ=PxQx+PyQy+PzQz
Tambin se puede expresar matricialmente, en 3D se podra expresar como el siguiente
producto, cuyo resultado es un escalar:

= [

] [ ]

Un teorema importante para la asignatura de informtica grfica es:


= ||||
Siendo el ngulo plano entre los dos vectores.
Esto tiene dos importantes consecuencias:
45

Dos vectores P y Q son perpendiculares si PQ=0


Dos vectores P y Q estn ms alineados cuanto ms cerca de 1 est el producto PQ, y estn
en el mismo sentido si PQ>0

Informtica Grfica

EJERCICIOS
XIII. Hallar k si el ngulo que forma U= (3, k) con V= (2, 1) vale:
- 90o
- 0o
- -45o
XIV. Dados los vectores U=(2, k) y V= (3, 2), calcula k para que los vectores U y V sean:
- Perpendiculares
- Paralelos
- Formen un ngulo de 60o
XV. Hallar el ngulo que forman los vectores U=(1,1,-1) y V=(2,2,21).

Interpretacin geomtrica del producto escalar


El producto de dos vectores no nulos es igual al mdulo de uno de ellos por la proyeccin del
otro sobre l:
cos =

|
|

por tanto = |
|

= ||


| |

A esta proyeccin de un vector sobre otro se denomina


componente de u paralela a v,
| |

Producto vectorial

Ilustracin 34: Producto escalar

El producto vectorial de dos vectores tridimensionales, en ingls cross product, devuelve un


nuevo vector perpendicular a los dos multiplicados. Esta operacin tiene muchos usos en la
informtica grfica. Uno de ellos, por ejemplo, es el clculo de la normal a la superficie en un punto
concreto a partir de dos vectores tangentes.
El producto vectorial de dos vectores 3D P y Q viene dado como

PQ = ( PyQz PzQy, PzQx PxQz, PxQy PyQz )


Otra forma de expresarlo es de forma matricial, como el
clculo del siguiente determinante:

= |

Siendo i=(1,0,0), j=(0,1,0) y k=(0,0,1)


Adems, el sentido del vector resultado depende
directamente del orden de la multiplicacin (ver Ilustracin
35).
P Q = -Q P
Un teorema interesante es el siguiente:
|P Q | = |P||Q|sin
46

Ilustracin 35; Producto vectorial

Gua Didctica Curso 2016-2017

Fco. Javier Melero Rus

EJERCICIOS
XVI. Investigue, en incluya en sus apuntes, cmo calcular el rea de un tringulo
cualquiera haciendo uso del producto vectorial.

MATRICES
Una matriz M n m es un array de nmeros que tiene n filas y m columnas. Si n=m, decimos que
la matriz M es cuadrada. Escribiremos Mij para referirnos al elemento de M que est en la fila i de la
columna j.
11
= [21
31

12
22
32

13
23
33

14
24 ]
34

Las entradas en las que i=j forman la diagonal principal de la matriz. Una matriz cuadrada cuyas
nicas entradas no nulas estn en dicha diagonal se llama matriz diagonal.
La traspuesta de una matriz M n m, que denotamos como MTes una matriz m n para la cual
las entradas (i,j) se corresponden con la (j,i) de la matriz M. De esta forma FT es
11

= [ 12
13
14

21
22
23
24

31
32
]
33
34

Al igual que los vectores (que no son ms que matrices de n x 1 ), tambin las matrices se
pueden multiplicar por un escalar, siendo el resultado la multiplicacin de cada elemento de la
matriz por dicho escalar.
De la misma manera, la suma de dos matrices es la suma elemento a elemento de sus
componentes.
En Informtica Grfica, uno de los procesos ms repetidos a lo largo del cauce grfico es la
multiplicacin de matrices. Dos matrices F y G se pueden multiplicar s el nmero de columnas de F
es igual al de filas de G.
Si F es una matriz n m, y G una matriz m p, la matriz resultante FG es una matriz n p, cuya
entrada (i,j) viene dada por

=
=1

La multiplicacin de matrices no es conmutativa.


Hay una matriz especial que tiene tambin mucha importancia en la Informtica Grfica, la
matriz identidad. Mostramos la identidad 3x3:
1
= [0
0

47

0 0
1 0]
0 1

También podría gustarte