570 likes | 901 Views
>> Transformación << Cámara, Avatar. LINK http:// www .sc.ehu.es/ccwgamoa/docencia/Material/Presentaciones. Bibliografía. Foley 6 Hearn 12 Vince 3.5 OpenGL Programming Guide 3. Contenido. Proyecciones La cámara El avatar Cámara y transformaciones: OpenGL, H/W Control de la cámara.
E N D
>> Transformación<<Cámara, Avatar LINK http://www.sc.ehu.es/ccwgamoa/docencia/Material/Presentaciones A. García-Alonso
Bibliografía • Foley 6 • Hearn 12 • Vince 3.5 • OpenGL Programming Guide 3 A. García-Alonso
Contenido • Proyecciones • La cámara • El avatar • Cámara y transformaciones: OpenGL, H/W • Control de la cámara A. García-Alonso
b a Proyecciones *** • Paralela • Elementos • Plano proyección • Dirección de proyección • Perpendicular es lo más frecuente • Perspectiva • Elementos • Plano proyección • Centro de proyección • Efectos • a>b pero a´<b´ A. García-Alonso
Planar geometric projections • Parallel • Orthographic • Top (plan) • Front elevation • Side elevation • Axonometric • Isometric • Other • Oblique • Cabinet • Cavalier • Other • Perspective • One-point • Two-point • Three-point Ver Figuras en : Foley 6.1 ACM educational set 1991 A. García-Alonso
... Cabinet (gabinete), Caballera, perspectiva con 2 puntos de proyección Frente (alzado), lateral (perfil), planta (superior), isométrica http://www.mtsu.edu/~csjudy/planeview3D/tutorial.html A. García-Alonso
La cámara *** • Definición • Perspectiva • Ortogonal • Imágenes estereoscópicas • Foco • Clasificación de parámetros • Orientación y posicionamiento • Intrínsecos • Proyección sobre la pantalla A. García-Alonso
orientación y posicionamiento Proyección Parámetros / Estructura datos • Elementos para su definición: • Expresados en el sistema de referencia del mundo : • Punto de vista (view point) V • Punto hacia el que se mira (look at point) A • Vector vertical (up vector) u • Puede tener que ser unitario • Puede no ser ortogonal a VA • Eje z de la cámara (coordenada ó distancia) • Plano de recorte cercano (near/front clipping plane) dn • Plano de recorte lejano (far/back clipping plane) df • Independientes sistema • Ángulo de apertura (camera aperture) α • Sistema pantalla • Aspect ratio, anchura, altura, (width, height) a=w/h (w, h) A. García-Alonso ver nota
yc zc xc yw up V A xw zw Sistema de referencia de la cámara En las siguientes páginas se define el sistema de referencia de la cámara (ic, jc, kc) a partir de los parámetros de orientación y posicionamiento (V, A, up). Todos ellos expresados en el sistema del mundo A. García-Alonso
View point & look At point zc yw V A xw zw Los puntos V y A determinan el origen y el eje zc del sistema de la cámara kc = vAV / |vAV| A. García-Alonso
Up vector yc zc xc yw u V A xw zw El vector u y el eje zc determinan el plano vertical Perpendicular a este plano será xc * Su proyección en la pantalla queda horizontal ic = normalizar( up^kc ) jc = kc^ic El eje yc queda definido por kc^ic * Estará contenido en el plano vertical * Su proyección en la pantalla queda vertical A. García-Alonso ver nota
yw A yc zc xc V xw zw Plano cercano y Plano lejano Los planos de recorte se definen, en unos casos por su distancia a V, en otros por la coordenada de corte con el eje z A. García-Alonso
yw yc zc xc V xw Pirámide de visión zw Pirámide de visión Vince 9.1.9 : “The binocular visual field extends approx. ±100º horizontally and ± 60º vertically,…” ( Xc,Zc plane Yc,Zc plane ) A. García-Alonso
Angulo de apertura Near clipping plane yc Far clipping plane zc α V α aperture angle A A. García-Alonso
yw A yc zc xc V xw zw Volumen de recorte Volumen de recorte (volume clipping) Frustum culling A. García-Alonso ver nota
Plano proyección, distancia Projection plane yc hp α zc P V dp distance to projection plane : PV hpdrawingarea height (pixels) wpdrawingarea width α aperture angle tg (α/2) = (hp/2) / dp dp = hp/( 2 · tg (α/2) ) A. García-Alonso
yp zp Projectionplane xp yc (yc, zc) yp V dp zc Proyección Transformación de proyección Nota : se puede usar una expresión matricial homogénea xp = (xc· dp) / zc yp = (yc· dp) / zc zp = zc A. García-Alonso ver nota
yc zc xc V Cámara con proyección ortogonal • Se define un prisma recto rectangular de visión en el sistema de la cámara : • xmin, xmax • ymin, ymax • zmin, zmax A. García-Alonso
Imágenes estereoscópicas • Cfr. Vince 3.4-5 • Stereoscopic vision : 3-D sensation when seeing with two eyes • Binocular disparity • Stereopsis : process of obtaining two views of an object when viewed with two eyes • Eye convergence • Interpupillary (interocular) distance V 3.21 A. García-Alonso ver nota
http://www.yorku.ca/eye/disparit.htm A. García-Alonso
Enfoque • Importancia • Simulación • Cine y publicidad • Se aproxima con el alpha-buffer (H/W, OpenGL) • Aquí no hemos considerado parámetros para su control Architecture and CAAD, Department of Architecture, ETH Zurich http://caad.arch.ethz.ch/info/maya/manual/UserGuide A. García-Alonso
El avatar *** • Definiciones • In online chat, your handle used to be the thing that distinguished you from everyone else. But as 3D chat worlds proliferate, the avatars are taking over. An avatar is a graphical representation that you select to stand in for you; it can look like a person, an object, or an animal. Since an avatar may look nothing like you (unless you happen to resemble a blue fish), you should choose one that fairly represents the way you'd like to be seen by the people you're chatting with.http://www.cnet.com/Resources/Info/Glossary/ • The abstract representation of the user in a VRML world. The physical dimensions of the avatar are used for collision detection and terrain following. User : a person or agent who uses and interacts with VRML files by means of a browser. ISO-VRML’97 • An embodiment (as of a concept, philosophy, or tradition) usually in human form (Vishnu) A. García-Alonso
... • Avatara (http://www.encyclopedia.com) • Pronounced As: avtâr [Skt.,=descent], incarnations of Hindu gods, especially Vishnu. The doctrine of avatara first occurs in the Bhagavad-Gita, where Krishna declares: "For the preservation of the righteous, the destruction of the wicked, and the establishment of dharma [virtue], I come into being from age to age. Vishnu is believed to have taken nine avatara, in both animal and human form, with a tenth yet to come. The avatara of Shiva are imitations of those of Vishnu. • Vishnu and his avatara (incarnations) : Matsya (the fish), Kurma (the tortoise), Varaha (the boar), Narasimha (the man-lion), Vamana (the dwarf), Parashurama (Rama with the ax), Rama, Krishna, Buddha, and Kalkin (who is yet to appear) A. García-Alonso
... • The use of the word Avatar for a graphical representation of a human in a multi-user, computer generated environment was made popular by Neal Stephenson's science fiction novel 'Snow Crash'. Since humans are the creators of cyberspace, and since humans cannot walk in their created worlds in their normal form, we create avatars of ourselves to walk among our creations. Which makes the idea of avatars a mind-boggling concept, since it implies that humans are the deities ofcyberspace going out to walk among their digital creations. (e3D News, vol. 3, n. 3, Dec. 2001) • “En la religión hindú, encarnación terrestre de alguna deidad, en especial Visnú. Reencarnación, transformación.” Real Academia Española ( www.rae.es ) A. García-Alonso
Avatar en VRML • El avatar queda definido por tres parámetros • Altura a la que está situado su ojo • Posiciona la cámara relativa al suelo • Altura a la que está la rodilla • colisión/escalón • Radio (grosor) • Colisiones ISO/IEC 14772-1:1997 The Virtual Reality Modeling Language (VRML) A. García-Alonso
... • Las colisiones en VRML • El navegador (browser) las determina entre el cilindro que define al avatar y los objetos colisionables de la escena • Una geometría compleja se puede sustituir por un proxy A. García-Alonso
... • La altura a la que está la rodilla • Determina si un obstáculo es superable o no al chocar con el al andar (peldaño vs. pared, ventana, mesa, etc) • Al avatar se le puede ligar un objeto que le dé forma • Éste no interviene en las colisiones A. García-Alonso
Cámara y transformaciones *** +++ • Resumen conceptual • Aplicación • OpenGL • H/W A. García-Alonso
Resumen conceptual (pipeline) • Hearn 12.42, 45 • Del sistema de modelado al mundo • Del mundo a la cámara • Al cubo normalizado • Recorte contra los planos • Transformación a coordenadas de pantalla A. García-Alonso
Control cámara *** • VRML • Examinar (examine, circle, arc) • Traslación cámara (crane, dolly) • Zoom • Rotación (Tabla equivalencia terminológica) • Cámara fija en “trípode” (pan, tilt) • Cámara volando, analogía avión (yaw-heading, pitch) • “God view” • Pasear • Seguimiento • Plano cercano (near clipping plane) • Posición inicial automática para examinar A. García-Alonso ver nota
Consideraciones previas • Un estado de la cámara queda determinado por los valores que toman los parámetros de su estructura en un momento dado. • Qué acciones se señalan sobre el interfaz de usuario para mover la cámara • Cómo se mueve la cámara, es decir, cómo se determina un nuevo estado de la cámara a partir de: • Un estado dado y • Una determinada acción sobre el interfaz de usuario A. García-Alonso
VRML • WALK navigation is used for exploring a virtual world on foot or in a vehicle that rests on or hovers above the ground. • FLY navigation is similar to WALK except that terrain following and gravity may be disabled or ignored. • EXAMINE navigation is used for viewing individual objects and often includes (but does not require) the ability to spin around the object and move the viewer closer or further away. A. García-Alonso
arc over arc left V arc right A Φ Latitud, elevación θ Longitud arc under Examinar • El control de la cámara es similar a mover la cámara (V) sobre la superficie de una esfera de centro en A • El usuario elige el centro de atención, en el que sitúa A • El centro del objeto • Un vértice determinado … A. García-Alonso
Arc over-under • arc over - under : “mover” en meridiano (entre polos) • Mover por un meridiano el punto V es rotarlo alrededor de un eje paralelo al plano XZ del mundo y perpendicular a VA, y que pasa por A. • Suele ser conveniente impedir que la cámara rebase un polo, pues la imagen pasa a ser invertida “cabeza abajo”. • El ángulo a rotar, ΔΦ, se controla de diversos modos • Por cada pulsación de un botón se “rota” un valor cteΔΦ • En cada evento producido al mover el ratón se rota un valor variableΔΦ : proporcional al desplazamiento del ratón • Etc • ΔΦ > 0 “baja”, < 0 “sube” A´ = A (queda fijo) e= (- kc) ^ jw (ver nota) V´ = rotar V [eje(e , A), giroΔΦ] up´ = rotar up [eje(e , A), giroΔΦ ] A. García-Alonso ver nota
Arc left-right • arc left - right : “mover” en un paralelo • Mover por un paralelo el punto V es rotarlo alrededor de un eje paralelo al eje “y” del mundo, que pasa por A • El ángulo a rotar, Δθ, se controla de modo similar • Δθ> 0 “la cámara se mueve a la derecha”, < 0 “izquierda” A´ = A (queda fijo) V´ = rotar V [eje(jw , A), giroΔθ ] up´ = rotar up [eje(jw , A), giroΔθ ] A. García-Alonso
Crane up Dolly left Dolly in / truck in Dolly out / truck out Dolly right Crane down Traslación • La cámara se puede mover sobre un pié o carro móvil, sobre un elevador, una jirafa u otras combinaciones NOTA : las aplicaciones CAD denominan “pan” al dolly l/r & crane, en video juegos se denomina strafeal desplazamiento derecha-izquierda A. García-Alonso
Crane, dolly (truck) • Trasladar V y A sobre un eje de la cámara • Cranetraslada sobre eje Y :jc (step +, up), (step -, down) • Dollytraslada sobre eje X :ic (step +, right), (step -, left) • Dolly/trucktraslada sobre eje Z :kc (step +, out), (step -, in) Crane (+up/-down) : A´ = A+ step * jc V´ = V + step * jc up´ = up(queda fijo) Dolly (+right/-left) : A´ = A+ step * ic V´ = V + step * ic up´ = up(queda fijo) Dolly (+out/-in) : A´ = A+ step * kc V´ = V + step * kc up´ = up(queda fijo) A. García-Alonso
Zoom & “Dolly” • Zoom & Dolly • Zoom consiste en modificar el ángulo de apertura • Produce un efecto similar al acercar/alejar la cámara (dolly ) • Para hacer “zoom” con una especie de “dolly”, suele convenir mantener fijo el punto de atención • Dolling vs. zooming : • El zoom no produce efecto de profundidad porque no varía la perspectiva A. García-Alonso
... A, V, up constantes Ángulo apertura (variar) • Zoom : modificar el ángulo de apertura • Ángulos de apertura grandes (+ de 70º ~ 80º) generan imágenes que dan impresión de estar distorsionadas • “Dolly” : desplazar V sobre eje Z de la cámara (A fijo) • Step> 0 aleja V de A (zoom out), < 0lo acerca (zoom in) • Hay peligro numérico de acercar demasiado V a A • Si V se acerca demasiado al objeto, pueden aparecer recortes no deseados por interferir el plano cercano con el objeto, por penetrar V dentro del objeto, etc A´ = A (queda fijo) V´ = V + step *kc up´ = up (queda fijo) A. García-Alonso
pan right / left ; yaw ; colear tilt ; roll pan up / down ; pitch ; cabecear Rotación respecto al “trípode” • Giros relativos a los ejes de la cámara NOTA : en aplicaciones de CAD pan no es un giro, sino una traslación según los ejes XY de la cámara A. García-Alonso
Base móvil : analogía del avión It BANKS by tipping its wings to the left or to the right It changes HEADING by turning left or right It PITCHES forward by bowing down It PITCHES back by bowing up http://artemis.simmons.edu/ ~bwhite/SYL/xyz.html A. García-Alonso
Analogía vehículos (avión, coche, ...) Rota sobre el eje X Rota sobre el eje Z Rota sobre el eje Y http://liftoff.msfc.nasa.gov/academy/rocket_sci/shuttle/attitude/pyr.html A. García-Alonso ver nota
Tabla equivalencia terminológica A. García-Alonso
Pan left-right (yaw, heading) • Rotar alrededor del eje Y de la cámara (V fijo) • Δψ > 0 left, < 0 right A´ = rotar A [eje(jc , V), giroΔψ ] V´ = V (queda fijo) up´ = rotar up [eje(jc , V), giroΔψ ] A. García-Alonso
Pan up-down (pitch) • Rotar alrededor del eje X de la cámara (V fijo) • Δθ > 0 up, < 0 down A´ = rotar A [eje(ic , V), giroΔθ ] V´ = V (queda fijo) up´ = rotar up [eje(ic , V), giroΔθ ] A. García-Alonso
Tilt (bank, roll) • Inclinar, ladear la cabeza (cámara) • Rotar sobre el eje de mirada, el Z de la cámara • Δφ > 0 ladea “cabeza” a la izquierda, < 0 derecha A´ = A (queda fijo) V´ = V (queda fijo) up´ = rotar up [eje(kc , V), giroΔφ ] A. García-Alonso
Sagital Horizontal Sagital Horizontal Orientado por la vista • En los paseos virtuales, la cámara emula los ojos de la persona que se ha introducido en el modelo virtual Images from graphics.stanford.edu/projects/mich www.cs.princeton.edu/gfx/proj/sugcon/models/ A. García-Alonso
Pasear • En los paseos virtuales, la cámara emula los ojos de la persona que se ha introducido en el modelo virtual • Modelo con avatar simple : identifica control de avatar y de cámara • Cámara posicionada relativa al avatar : desacopla parcialmente la cámara del avatar (orientación avance y de mirada) • Modelo avatar “actor” : la cámara depende totalmente del modelo del avatar, se coloca en sus ojos. No se habla de control de cámara sino de control del actor A. García-Alonso
m P Pasear : modelo simple • Incrementar posición (punto P) hacia delante o hacia atrás siguiendo el vector de marcha • Rotar dirección de marcha -el vector de marcha- (o mirada) a derecha o izquierda • P y m se definen en el sistema del mundo • Las acciones sobre los controles modifican • La posición sobre el suelo (Px, Pz) del avatar • El vector de orientación (marcha y mirada) • Para la marcha sólo se consideran las componentes (mx, mz) A. García-Alonso ver nota