11.07.2015 Views

Download document (10.35 MB) - Escuela Superior de Informática ...

Download document (10.35 MB) - Escuela Superior de Informática ...

Download document (10.35 MB) - Escuela Superior de Informática ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.2. Técnicas <strong>de</strong> representación 3D 57Coor<strong>de</strong>nadas <strong>de</strong>l vector “up”. Con este vector regularemos la orientación <strong>de</strong> la cámara.Este vector <strong>de</strong>berá “mirar hacia arriba”. Cambiando el vector “up”, variamos laorientación <strong>de</strong> la cámara, aunque siga mirando hacia el mismo punto y situada en idénticaposición.3.2.2.5 Matrices y transformaciones geométricasComo se comentó en la sección <strong>de</strong>l mo<strong>de</strong>lo conceptual <strong>de</strong> OpenGL, toda la geometríagenerada pasa a través <strong>de</strong>l pipeline gráfico sufriendo sucesivas transformaciones hasta su disposiciónfinal en pantalla. Estas transformaciones son matrices que multiplican a los vértices(vectores) modificando sus características.En OpenGL se <strong>de</strong>finen dos matrices principales que multiplicarán a toda la geometría:la matriz <strong>de</strong> proyección (GL P ROJECT ION) y la matriz <strong>de</strong> mo<strong>de</strong>lado y visionado(GL MODELV IEW ). Cuando se <strong>de</strong>fine el tipo <strong>de</strong> proyección a utilizar, se están actualizandolos valores <strong>de</strong> la matriz <strong>de</strong> proyección. Cada vez que la cámara se rote, trasla<strong>de</strong>, escale ocambie <strong>de</strong> posición, se estará actuando sobre la matriz <strong>de</strong> mo<strong>de</strong>lado y visionado. La matriz <strong>de</strong>mo<strong>de</strong>lado-visionado se encarga <strong>de</strong> convertir el mundo 3D a 2D (es <strong>de</strong>cir, crea la proyección).El primer paso a realizar en cualquier aplicación OpenGL es inicializar ambas matrices. Paraello, se les asocia la matriz i<strong>de</strong>ntidad (glLoadI<strong>de</strong>ntity()). Cualquier vector multiplicado poruna matriz i<strong>de</strong>ntidad no varía.Un punto en coor<strong>de</strong>nadas cartesianas se <strong>de</strong>fine como: Punto P = (x,y,z), y representa una<strong>de</strong>terminada localización en el espacio 3D. Un vector, entendido como una resta entre dospuntos se <strong>de</strong>fine como Vector V = P − P = (x, y, z) − (x, y, z) = (a, b, c). Por otra parte,se mo<strong>de</strong>la la geometría <strong>de</strong>l objeto para luego transformala: trasladándola a otra posición,rotándola respecto <strong>de</strong> un eje, escalándola para cambiar su tamaño... Estas son las llamadastransformaciones afines 66 También <strong>de</strong>nominadas en algunos libros como transformaciones rígidas o lineales. Se llaman así porqueconservan las líneas. Dado un segmento <strong>de</strong>finido por dos vértices, si se transforman los vértices y se unen <strong>de</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!