trfm.cámara-avatara. garcía-alonso1 >> transformación
TRANSCRIPT
![Page 1: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/1.jpg)
Trfm.Cámara-Avatar A. García-Alonso 1
>> Transformación <<Cámara, Avatar
LINK http://www.sc.ehu.es/ccwgamoa/docencia/Material/Presentaciones
![Page 2: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/2.jpg)
Trfm.Cámara-Avatar A. García-Alonso 2
Bibliografía
• Foley 6
• Hearn 12
• Vince 3.5
• OpenGL Programming Guide 3
![Page 3: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/3.jpg)
Trfm.Cámara-Avatar A. García-Alonso 3
Contenido
• Proyecciones
• La cámara
• El avatar
• Cámara y transformaciones: OpenGL, H/W
• Control de la cámara
![Page 4: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/4.jpg)
Trfm.Cámara-Avatar A. García-Alonso 4
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
b
![Page 5: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/5.jpg)
Trfm.Cámara-Avatar A. García-Alonso 5
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
![Page 6: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/6.jpg)
Trfm.Cámara-Avatar A. García-Alonso 6
...
http://www.mtsu.edu/~csjudy/planeview3D/tutorial.html
Cabinet (gabinete), Caballera, perspectiva con 2 puntos de proyección
Frente (alzado), lateral (perfil), planta (superior), isométrica
![Page 7: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/7.jpg)
Trfm.Cámara-Avatar A. García-Alonso 7
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
![Page 8: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/8.jpg)
Trfm.Cámara-Avatar A. García-Alonso 8
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)
orie
ntac
ión
y
pos
icio
nam
ient
o
Pro
yecc
ión
ver nota
![Page 9: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/9.jpg)
Trfm.Cámara-Avatar A. García-Alonso 9
xw
yw
zw
Sistema de referencia de la cámaraEn 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
yc
xc
zc
A
upV
![Page 10: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/10.jpg)
Trfm.Cámara-Avatar A. García-Alonso 10
Los puntos V y A determinan el origen
y el eje zc del sistema de la cámara
View point & look At point
kc = vAV / |vAV|
xw
yw
zw
zc
A
V
![Page 11: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/11.jpg)
Trfm.Cámara-Avatar A. García-Alonso 11
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
El eje yc queda definido por kc^ic
* Estará contenido en el plano vertical
* Su proyección en la pantalla queda vertical
Up vector
ic = normalizar( up^kc )
jc = kc^icxw
yw
zw
yc
xc
zc
A
u V
ver nota
![Page 12: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/12.jpg)
Trfm.Cámara-Avatar A. García-Alonso 12
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
Plano cercano y Plano lejano
xw
yw
zw
yc
xc
zc
V
A
![Page 13: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/13.jpg)
Trfm.Cámara-Avatar A. García-Alonso 13
Pirámide de visión
xw
yw
zw Pirámide de visión
yc
xc
zc
V
Vince 9.1.9 :“The binocular visual field extends approx. ±100º horizontally and ± 60º vertically,…” ( Xc,Zc plane Yc,Zc plane )
![Page 14: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/14.jpg)
Trfm.Cámara-Avatar A. García-Alonso 14
Angulo de apertura
α aperture angle
zc
yc
Vα
A
Far clipping plane
Near clipping plane
![Page 15: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/15.jpg)
Trfm.Cámara-Avatar A. García-Alonso 15
![Page 16: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/16.jpg)
Trfm.Cámara-Avatar A. García-Alonso 16
Volumen de recorte (volume clipping)
Frustum culling
Volumen de recorte
xw
yw
zw
A
yc
xc
zc
V
ver nota
![Page 17: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/17.jpg)
Trfm.Cámara-Avatar A. García-Alonso 17
dp distance to projection plane : PV
hp drawingarea height (pixels)
wp drawingarea width
α aperture angle
tg (α/2) = (hp/2) / dp
dp = hp / ( 2 · tg (α/2) )
Plano proyección, distancia
zc
yc
hp
Projection plane
VP
α
![Page 18: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/18.jpg)
Trfm.Cámara-Avatar A. García-Alonso 18
Proyección
Transformación de proyección
xp = (xc · dp) / zc
yp = (yc · dp) / zc
zp = zc
Nota : se puede usar una expresión matricial homogénea
zc
yc
(yc, zc)
Projection plane
yp
dp
yp
xp
zp
V
ver nota
![Page 19: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/19.jpg)
Trfm.Cámara-Avatar A. García-Alonso 19
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
yc
xc
zc
V
![Page 20: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/20.jpg)
Trfm.Cámara-Avatar A. García-Alonso 20
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
ver nota
![Page 21: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/21.jpg)
Trfm.Cámara-Avatar A. García-Alonso 21
http://www.yorku.ca/eye/disparit.htm
![Page 22: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/22.jpg)
Trfm.Cámara-Avatar A. García-Alonso 22
Enfoque
• Importancia– Simulación
– Cine y publicidad
• Se aproxima con el alpha-buffer (H/W, OpenGL)
• Aquí no hemos considerado parámetros para su controlArchitecture and CAAD, Department of Architecture, ETH Zurich
http://caad.arch.ethz.ch/info/maya/manual/UserGuide
![Page 23: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/23.jpg)
Trfm.Cámara-Avatar A. García-Alonso 23
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)
![Page 24: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/24.jpg)
Trfm.Cámara-Avatar A. García-Alonso 24
...• 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)
![Page 25: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/25.jpg)
Trfm.Cámara-Avatar A. García-Alonso 25
...• 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 of cyberspace 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 )
![Page 26: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/26.jpg)
Trfm.Cámara-Avatar A. García-Alonso 26
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)
![Page 27: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/27.jpg)
Trfm.Cámara-Avatar A. García-Alonso 27
...
• 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
![Page 28: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/28.jpg)
Trfm.Cámara-Avatar A. García-Alonso 28
...
• 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
![Page 29: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/29.jpg)
Trfm.Cámara-Avatar A. García-Alonso 29
Cámara y transformaciones *** +++
• Resumen conceptual
• Aplicación– OpenGL
– H/W
![Page 30: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/30.jpg)
Trfm.Cámara-Avatar A. García-Alonso 30
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
![Page 31: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/31.jpg)
Trfm.Cámara-Avatar A. García-Alonso 31
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
ver nota
![Page 32: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/32.jpg)
Trfm.Cámara-Avatar A. García-Alonso 32
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
![Page 33: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/33.jpg)
Trfm.Cámara-Avatar A. García-Alonso 33
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.
![Page 34: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/34.jpg)
Trfm.Cámara-Avatar A. García-Alonso 34
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
V
Φ Latitud, elevación
θ Longitud
arc over
arc under
arc right
arc left
![Page 35: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/35.jpg)
Trfm.Cámara-Avatar A. García-Alonso 35
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 ΔΦ ]ver nota
![Page 36: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/36.jpg)
Trfm.Cámara-Avatar A. García-Alonso 36
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 Δθ ]
![Page 37: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/37.jpg)
Trfm.Cámara-Avatar A. García-Alonso 37
Dolly right
Dolly left Dolly in / truck in
Dolly out / truck out
Crane up
Crane down
Traslación• La cámara se puede mover sobre un pié o carro móvil,
sobre un elevador, una jirafa u otras combinacionesNOTA : las aplicaciones CAD denominan “pan” al dolly l/r & crane, en video juegos se denomina strafe al desplazamiento derecha-izquierda
![Page 38: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/38.jpg)
Trfm.Cámara-Avatar A. García-Alonso 38
Crane, dolly (truck)
• Trasladar V y A sobre un eje de la cámara– Crane traslada sobre eje Y : jc (step +, up), (step -, down)
– Dolly traslada sobre eje X : ic (step +, right), (step -, left)
– Dolly/truck traslada 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)
![Page 39: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/39.jpg)
Trfm.Cámara-Avatar A. García-Alonso 39
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
![Page 40: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/40.jpg)
Trfm.Cámara-Avatar A. García-Alonso 40
...
• 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), < 0 lo 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, V, up constantes
Ángulo apertura (variar)
![Page 41: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/41.jpg)
Trfm.Cámara-Avatar A. García-Alonso 41
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
pan up / down ; pitch ; cabecear
tilt ; roll
pan right / left ; yaw ; colear
![Page 42: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/42.jpg)
Trfm.Cámara-Avatar A. García-Alonso 42
Base móvil : analogía del aviónIt 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
![Page 43: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/43.jpg)
Trfm.Cámara-Avatar A. García-Alonso 43
Analogía vehículos (avión, coche, ...)
http://liftoff.msfc.nasa.gov/academy/rocket_sci/shuttle/attitude/pyr.html
Rota sobre el eje X
Rota sobre el eje Y
Rota sobre el eje Z
ver nota
![Page 44: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/44.jpg)
Trfm.Cámara-Avatar A. García-Alonso 44
Tabla equivalencia terminológica
CameraRotation
AxisAirplane Airplane & car Camera
ZBANK
inclinar (al virar)ROLL
balancearseTILT
inclinarse
Y Change HEADINGYAW
colear (avión)
PAN (right-left)mirada en derredor
panorámica horizontal
XPITCH
cabecearPITCH
cabecearPAN (up-down)
panorámica
![Page 45: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/45.jpg)
Trfm.Cámara-Avatar A. García-Alonso 45
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 Δψ ]
![Page 46: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/46.jpg)
Trfm.Cámara-Avatar A. García-Alonso 46
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 Δθ ]
![Page 47: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/47.jpg)
Trfm.Cámara-Avatar A. García-Alonso 47
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 Δφ ]
![Page 48: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/48.jpg)
Trfm.Cámara-Avatar A. García-Alonso 48
• En los paseos virtuales, la cámara emula los ojos de la persona que se ha introducido en el modelo virtual
Orientado por la vista
HorizontalSagital
Sagital
Horizontal
Images from graphics.stanford.edu/projects/mich
www.cs.princeton.edu/gfx/proj/sugcon/models/
![Page 49: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/49.jpg)
Trfm.Cámara-Avatar A. García-Alonso 49
• 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
Pasear
![Page 50: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/50.jpg)
Trfm.Cámara-Avatar A. García-Alonso 50
• 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)
Pasear : modelo simple
P
m
ver nota
![Page 51: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/51.jpg)
Trfm.Cámara-Avatar A. García-Alonso 51
...
• La posición del ojo en la coordenada vertical (Py)
– Forzada por los siguientes elementos• La altura asignada al avatar• El modelo de suelo, con obstáculos salvables (escalones)
– Gozar de cierta libertad mediante un tercer gdl que permite agacharse o realizar saltos
• Modificar la inclinación alrededor del eje de mirada (mirar con la cabeza ladeada)
![Page 52: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/52.jpg)
Trfm.Cámara-Avatar A. García-Alonso 52
...
• Control de la cámara– View point : en la posición del ojo del avatar
– Look at point : la posición de V más cierta distancia en la dirección del vector de marcha
– Up vector se puede determinar de dos modos• El usuario controla un ángulo de inclinación φ medido
respecto al eje Y del mundo, y en función de éste se recalcula u
• Al ordenar el usuario una inclinación de cabeza se rota el vector u actual alrededor del eje Z actual de la cámara (esto evita indeterminaciones si se mira hacia el “cielo”)
A
V
m
![Page 53: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/53.jpg)
Trfm.Cámara-Avatar A. García-Alonso 53
Seguimiento (de un punto móvil)
• Base fija– El view point permanece fijo, el look at point pasa de A a A´
• Traveling, chase– Al moverse el objeto de atención de A a A´, el look at point
debe cambiar a esa nueva posición, y el view point debe sufrir una traslación idéntica
A
V
A´
V´
A
V
A´
![Page 54: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/54.jpg)
Trfm.Cámara-Avatar A. García-Alonso 54
...
• Base fija (track)– Ángulo de apertura (se suele ajustar en función de la
distancia)
– Planos recorte (control complicado, problemas precisión)
• Base móvil– Sistemas referencia (objeto seguido, objeto q mueve cámara)
![Page 55: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/55.jpg)
Trfm.Cámara-Avatar A. García-Alonso 55
Variar la posición del plano cercano
• Normalmente permanece fijo– Si está demasiado cerca del ojo pueden aparecer problemas
de “superposición” por falta de precisión en el Z-buffer y la proyección de perspectiva
– Si se aleja del ojo, pueden desaparecer elementos gráficos situados entre V y el near clipping plane, creando imágenes “falsas” (desaparece una pared y se ve la habitación contigua, o se ve “el interior” de un objeto)
– Adecuar control de “colisiones” y posición de este plano
• En ocasiones se aprovecha este “defecto” para ver a propósito “el interior de objetos”, pues se elimina la parte del objeto que está entre “el ojo” y ese plano
![Page 56: Trfm.Cámara-AvatarA. García-Alonso1 >> Transformación](https://reader036.vdocuments.net/reader036/viewer/2022062309/5665b46f1a28abb57c916fe9/html5/thumbnails/56.jpg)
Trfm.Cámara-Avatar A. García-Alonso 56
Posición inicial automática (examinar)
• Contenedor de los objetos de interés– Sistema de referencia del mundo
– Xmin, Xmax, Ymin, Ymax, Zmin, Zmax
• Esfera que contiene a la caja
• La cámara vea toda la esfera de interés– 2 * α = apertura/fovy : field of view in the “y” direction
– sin(α) = radio / δ => δ = radio / sin(fovy/2)
– A en el centro esfera
– δ : distancia VA
α
Plano recorte lejano
Plano recorte cercano