las matemáticas videojuegosaula141.cat/.../uploads/2018/05/charla-videojuegos.pdf ·...
TRANSCRIPT
videojuegos matemáticas Las de los
¿Qué haremos hoy?
1) Modelo frustum 2d y 3d
2) Posición y orientación cámara 3) Clipping 4) Python 5) Conclusiones
Modelo frustum 2d/3d
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
Transformación
x
y
x
y
Muchos puntos a uno
x
y
Muchos puntos a uno
Truco para solucionarlo Descomponer la transformación en dos operaciones:
x
y
x
y
x
y
x
y
Ejemplo 1
x
y
Ejemplo 2
x
y
Supongamos que sólo nos interesa una zona de puntos
Que se transforme en un cuadrado (muy cómodo!)
Puntos transformados
x
y
Supongamos que sólo nos interesa una zona de puntos
Todo punto de la región se transforma
x
y
Supongamos que sólo nos interesa una zona de puntos
Todo punto de la región se transforma
Punto fuera descartado
x
y
Supongamos que sólo nos interesa una zona de puntos
x
y
Supongamos que sólo nos interesa una zona de puntos
x
y
Supongamos que sólo nos interesa una zona de puntos
x
y
Supongamos que sólo nos interesa una zona de puntos
x
y
(Perspectiva!)
Transformación final (2D)
x
y
2D
x
y
2D
x
y
2D
x
y
2D
x
y
2D
Faltará dividir el vector entre
x
y
2D
1)
2D
1)
2)
2D
1)
2)
3)
2D
1)
2)
3) 4)
2D
3D
z
y x
3D
Cambio de signo! z
y x
3D
z
y x
3D
Formación de la imagen bidimensional
3D
Matriz de posición y orientación de cámara
y
x
Matriz de posición y orientación de cámara
y
x
Matriz de posición y orientación de cámara
Matriz de posición y orientación de cámara
y
x
Matriz de posición y orientación de cámara
y
x
Matriz de posición y orientación de cámara
y
x
PO
SIC
IÓN
Matriz de posición y orientación de cámara 3D
PO
SIC
IÓN
Proceso global
PO
SIC
IÓN
Ejemplo
Clipping
Clipping
2D 3D Puntos
Clipping
2D 3D Puntos
Clipping
2D 3D Puntos
Clipping
2D 3D Lineas
Clipping
2D 3D Lineas
Clipping
2D 3D Lineas
Algoritmos Line Clipping Cohen–Sutherland Liang–Barsky Fast-clipping Cyrus–Beck Nicholl–Lee–Nicholl Skala
Algoritmos Polygon Clipping Greiner-Hormann Sutherland–Hodgman Weiler–Atherton Vatti Metodologías de Rendering Painter's algorithm
Ejemplo
Conclusiones
- La cámara es el primer paso para un motor gráfico
- Física - Sonidos - Inteligencia Artificial
- Las matemáticas y la física son esenciales para un videojuego (realista o no).
Gracias por vuestra atención!