56 Capítulo 3. Antece<strong>de</strong>ntes, Estado <strong>de</strong> la Cuestión<strong>de</strong>l volumen <strong>de</strong> visualización. Las distancias zCerca y zLejos son siempre positivas y medidas<strong>de</strong>s<strong>de</strong> el COP hasta esos planos que son, obviamente, paralelos al plano Z = 0. Dado que lacámara apunta por <strong>de</strong>fecto en la dirección negativa <strong>de</strong> Z, el plano cercano (near) estará realmentesituado en z = −zmin mientras que el lejano (far) estará el z = −zmax.3.2.2.4 La cámaraTodos los objetos que vea la cámara y estén <strong>de</strong>ntro <strong>de</strong>l volumen <strong>de</strong> visualización, seránproyectados. Los parámetros a <strong>de</strong>finir para la cámara son:Posición XYZ. Al igual que cualquier objeto, la cámara <strong>de</strong>be posicionarse.Orientación. Una vez situada la cámara, <strong>de</strong>be orientarse.Dirección (“at”). Define hacia dón<strong>de</strong> mira la cámara.En OpenGL se <strong>de</strong>finen estos parámetros con la llamada a gluLookAt:gluLookAt ( eyeX , eyeY , eyeZ , atX , atY , atZ , upX , upY , upZ ) ;Esta función <strong>de</strong>termina dón<strong>de</strong> y cómo está la cámara dispuesta. La posición <strong>de</strong> la cámarano tiene nada que ver con el tipo <strong>de</strong> proyección <strong>de</strong>finida. La matriz que se modifica al llamara esta función no <strong>de</strong>be ser GL P ROJECT ION sino GL MODELV IEW . OpenGL calcularátodas las transformaciones que aplicará al mundo 3D para que, manteniendo la cámaraen el origen <strong>de</strong> coor<strong>de</strong>nadas y enfocada en la dirección negativa <strong>de</strong> las Z, <strong>de</strong> la sensación <strong>de</strong>que se está observando todo <strong>de</strong>s<strong>de</strong> un cierto lugar, pero para ello hay que activar la matrizantes <strong>de</strong> llamar a gluLookAt, llamando a glMatrixMo<strong>de</strong> (GL MODELVIEW). Los parámetros<strong>de</strong> la función son los siguientes (ver Fig 3.14 b)):Coor<strong>de</strong>nadas <strong>de</strong> “eye”. La posición XY Z don<strong>de</strong> colocar la cámara.Coor<strong>de</strong>nadas <strong>de</strong> “at”. Valor XY Z <strong>de</strong>l punto al que mirará la cámara.
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>
- Page 1:
UNIVERSIDAD DE CASTILLA-LA MANCHAES
- Page 5:
TRIBUNAL:Presidente:Vocal1:Vocal2:S
- Page 9:
ResumenSegún datos de la CNSE (Con
- Page 15:
AgradecimientosQuiero mostrar mi m
- Page 18 and 19:
XÍNDICE GENERAL4.3.2. Proceso de d
- Page 20 and 21:
XIIÍNDICE DE FIGURAS4.7. Diagrama
- Page 22 and 23:
XIVÍNDICE DE TABLAS
- Page 24 and 25:
XVILISTA DE ALGORITMOS
- Page 26 and 27:
2 Capítulo 1. IntroducciónLa leng
- Page 28 and 29:
4 Capítulo 1. IntroducciónPor otr
- Page 30 and 31: 6 Capítulo 1. Introducciónmódulo
- Page 32 and 33: 8 Capítulo 2. Objetivos del proyec
- Page 34 and 35: 10 Capítulo 2. Objetivos del proye
- Page 36 and 37: 12 Capítulo 3. Antecedentes, Estad
- Page 38 and 39: 14 Capítulo 3. Antecedentes, Estad
- Page 40 and 41: 16 Capítulo 3. Antecedentes, Estad
- Page 42 and 43: Optical FlowRaúl Varas Martínez18
- Page 44 and 45: 20 Capítulo 3. Antecedentes, Estad
- Page 46 and 47: 22 Capítulo 3. Antecedentes, Estad
- Page 48 and 49: 24 Capítulo 3. Antecedentes, Estad
- Page 50 and 51: 26 Capítulo 3. Antecedentes, Estad
- Page 52 and 53: 28 Capítulo 3. Antecedentes, Estad
- Page 54 and 55: 30 Capítulo 3. Antecedentes, Estad
- Page 56 and 57: y =x2+ 2x+ 5mediante el polinomio d
- Page 58 and 59: 34 Capítulo 3. Antecedentes, Estad
- Page 60 and 61: 36 Capítulo 3. Antecedentes, Estad
- Page 62 and 63: 38 Capítulo 3. Antecedentes, Estad
- Page 64 and 65: 40 Capítulo 3. Antecedentes, Estad
- Page 66 and 67: 42 Capítulo 3. Antecedentes, Estad
- Page 68 and 69: 44 Capítulo 3. Antecedentes, Estad
- Page 70 and 71: 46 Capítulo 3. Antecedentes, Estad
- Page 72 and 73: 48 Capítulo 3. Antecedentes, Estad
- Page 74 and 75: 50 Capítulo 3. Antecedentes, Estad
- Page 76 and 77: 52 Capítulo 3. Antecedentes, Estad
- Page 78 and 79: 54 Capítulo 3. Antecedentes, Estad
- Page 82 and 83: 58 Capítulo 3. Antecedentes, Estad
- Page 84 and 85: trices para concatenarlas y multipl
- Page 86 and 87: 62 Capítulo 3. Antecedentes, Estad
- Page 88 and 89: 64 Capítulo 3. Antecedentes, Estad
- Page 90 and 91: 66 Capítulo 3. Antecedentes, Estad
- Page 92 and 93: 68 Capítulo 3. Antecedentes, Estad
- Page 94 and 95: 70 Capítulo 3. Antecedentes, Estad
- Page 96 and 97: 72 Capítulo 3. Antecedentes, Estad
- Page 98 and 99: 74 Capítulo 3. Antecedentes, Estad
- Page 100 and 101: 76 Capítulo 3. Antecedentes, Estad
- Page 102 and 103: 78 Capítulo 3. Antecedentes, Estad
- Page 104 and 105: 80 Capítulo 3. Antecedentes, Estad
- Page 106 and 107: 82 Capítulo 4. Metodología de Tra
- Page 108 and 109: 84 Capítulo 4. Metodología de Tra
- Page 110 and 111: 86 Capítulo 4. Metodología de Tra
- Page 112 and 113: 88 Capítulo 4. Metodología de Tra
- Page 114 and 115: 90 Capítulo 4. Metodología de Tra
- Page 116 and 117: 92 Capítulo 4. Metodología de Tra
- Page 118 and 119: 94 Capítulo 4. Metodología de Tra
- Page 120 and 121: 96 Capítulo 4. Metodología de Tra
- Page 122 and 123: 98 Capítulo 4. Metodología de Tra
- Page 124 and 125: 100 Capítulo 4. Metodología de Tr
- Page 126 and 127: 102 Capítulo 4. Metodología de Tr
- Page 128 and 129: 104 Capítulo 4. Metodología de Tr
- Page 130 and 131:
106 Capítulo 4. Metodología de Tr
- Page 132 and 133:
108 Capítulo 4. Metodología de Tr
- Page 134 and 135:
110 Capítulo 4. Metodología de Tr
- Page 136 and 137:
112 Capítulo 4. Metodología de Tr
- Page 138 and 139:
114 Capítulo 5. ResultadosTodas la
- Page 140 and 141:
116 Capítulo 5. ResultadosVídeos
- Page 142 and 143:
118 Capítulo 5. Resultados5.2. Res
- Page 144 and 145:
120 Capítulo 5. Resultados• Boca
- Page 146 and 147:
122 Capítulo 5. ResultadosVídeos
- Page 148 and 149:
124 Capítulo 6. Conclusiones y Pro
- Page 150 and 151:
126 Capítulo 6. Conclusiones y Pro
- Page 152 and 153:
128 Capítulo 6. Conclusiones y Pro
- Page 154 and 155:
130 Capítulo 6. Conclusiones y Pro
- Page 156 and 157:
132 Capítulo 6. Conclusiones y Pro
- Page 158 and 159:
134 Capítulo A. DiagramasUSERcallb
- Page 160 and 161:
136 Capítulo B. Manual de usuarioF
- Page 162 and 163:
138 Capítulo B. Manual de usuarioM
- Page 164 and 165:
140 Capítulo B. Manual de usuarioL
- Page 166 and 167:
142 Capítulo B. Manual de usuarioP
- Page 168 and 169:
144 Capítulo C. Manual de Instalac
- Page 170 and 171:
146 Capítulo D. Código fuente/src
- Page 172 and 173:
148 Capítulo D. Código fuente77 i
- Page 174 and 175:
150 Capítulo D. Código fuente113
- Page 176 and 177:
152 Capítulo D. Código fuente233
- Page 178 and 179:
154 Capítulo D. Código fuente3533
- Page 180 and 181:
156 Capítulo D. Código fuente473
- Page 182 and 183:
158 Capítulo D. Código fuente593
- Page 184 and 185:
160 Capítulo D. Código fuente713
- Page 186 and 187:
162 Capítulo D. Código fuente833
- Page 188 and 189:
164 Capítulo D. Código fuente43 /
- Page 190 and 191:
166 Capítulo D. Código fuente163
- Page 192 and 193:
168 Capítulo D. Código fuente7 *
- Page 194 and 195:
170 Capítulo D. Código fuente124
- Page 196 and 197:
172 BIBLIOGRAFÍA[17] OpenGL Archit