Desarrollo de juegos de video Aprendiendo a programar en C# de manera divertida Sesión 5: Transformación y colisión de sprites edgar.sanchez@logicstudio.net.

Slides:



Advertisements
Presentaciones similares
TRANSFORMACIONES ISOMÉTRICAS En una transformación isométrica:
Advertisements

Desarrollo de juegos de video Aprendiendo a programar en C# de manera divertida Sesión 6: Control del jugador de los sprites
Desarrollo de juegos de video Aprendiendo a programar en C# de manera divertida Sesión 4: Introducción a los sprites y la animación
Actualización en Geometría: Simulación por Ordenador
TRANSFORMACIONES ISOMÉTRICAS
TRASFORMACIONES GEOMÉTRICAS EN EL PLANO
GIRO MOVIMIENTO EN EL PLANO Presentado por :laura castro Curso 8a.
TRANSFORMACIONES LINEALES EN 3D
Traslaciones, giros y simetrías en el plano.
Geometría Analítica Plana
TRANSFORMACIONES GEOMÉTRICAS
Transformaciones geométricas en 2D y 3D
MOVIMIENTOS EN EL PLANO
Conservación del Momento Angular:
INTRODUCCION AL ESTUDIO DE
Efecto esférico directo: lentes esféricas positivas
TRANSFORMACIONES ISOMÉTRICAS En una transformación isométrica:
Transformaciones geométricas
Transformaciones Isométricas
Transformaciones Isométricas
TRANSFORMACIONES ISOMÉTRICAS
Transformaciones isométricas
Graficación III. Transformaciones.
LA RECTA Y SUS ECUACIONES
Unidad temática 3 Análisis de esfuerzos en un punto
CONGRUENCIA Y TRANSFORMACIONES
TRANSFORMACIONES ISOMÉTRICAS EN EL PLANO CARTESIANO
Las Srtas. Transformaciones Isométricas
Transformaciones isométricas 1er. semestre 2005.
Unidad temática 3 Análisis de esfuerzos en un punto
VISIÓN EN 3D INTRODUCCIÓN y TRANSFORMACIONES
Conceptos generales de trigonometría
Trasformaciones isométricas.
TRANSFORMACIONES ISOMETRICAS EN EL PLANO Departamento de Matemática
Cap. 10 Rotación.
Traslación.
TRANSFORMACIONES ISOMÉTRICAS
Transformaciones Geométricas
Gráficas del MRU.
Prof. José Torrealba UNEFA
Conceptos Básicos en Ángulos y Triángulos
Transformaciones isométricas
MoMento S Grupo 33: Ignacio Ayllón Benito Félix A. Velázquez Salas.
ELEMENTOS DE ÁLGEBRA Y CÁLCULO VECTORIAL
Equilibrio del cuerpo rígido
Transformaciones Isométricas
CINEMÁTICA Ing. Robin Anguizaca F..
colegio de bachilleres del estado de Oaxaca
Unidad III: Cuarto Año Medio Geometría “Vectores”
Luciano Reyes Itzel Elvira
Transformaciones Isométricas
Cap. 11 Momentum Angular.
ISOMETRIA PROFESOR HUGO YAÑEZ U.
Graficación 2D Alumna: Yasmin Rosales Cruz
Tipos de Funciones Función lineal.
Semana 1- Sesión 2 Cinemática Movimiento en una dimensión
Trigonometría y ángulos
Robótica M.C. Fco. Javier de la Garza S.
TRANSFORMACIONES ISOMÉTRICAS
TRANSFORMACIONES ISOMÉTRICAS En una transformación isométrica:
Unidad V 8º Básico Luis Fonseca – Evelyn Iubini – Carla Salazar.
MATEMÁTICAS III UNIDAD 1 Actividad Final
TRANSFORMACIONES ISOMÉTRICAS
TRANSFORMACIONES ISOMÉTRICAS En una transformación isométrica:
Tema 2. Campo electrostático
EDNA PAGAN MATEMATICA.
OPERADORES CINEMÁTICOS Roger Miranda Colorado
Simetría 4°.
Rotación y reflexión en el plano
ISOMETRIA PLANO CARTESIANO
Transcripción de la presentación:

Desarrollo de juegos de video Aprendiendo a programar en C# de manera divertida Sesión 5: Transformación y colisión de sprites edgar.sanchez@logicstudio.net

Objetivos de esta serie Dar a los participantes una introducción a algunos de los conceptos fundamentales del desarrollo de juegos Introducir la programación con Visual C# 2005 Express Edition, el nuevo IDE (ambiente de desarrollo integrado) de Microsoft para programadores principiantes

Visión de esta sesión Sesión 5/8 – Transformaciones, colisiones y velocidad en los sprites Transformación Colisión Velocidad

Transformaciones Traslaciones Rotaciones Escalamiento

Traslaciones Una transformación de traslación se aplica a un objeto reposicionándolo En esencia, moviéndolo de una coordenada a otra a lo largo de una línea recta

Traslaciones tx y ty se denominan las distancias de traslación a lo largo de los ejes x e y T(tx,ty) es llamado el vector de traslación

Rotaciones Las rotaciones rotan un punto a lo largo de una ruta circular Para especificar una transformación de rotación necesitamos: Un ángulo Un punto pivote (referencia para la rotación) Un eje de rotación (En 2D, el eje es perpendicular al plano x-y, o sea el eje z) Especificar un ángulo de rotación positivo (contra agujas de reloj) o negativo (agujas de reloj)

Rotaciones Nótese como un ángulo de rotación positivo rota el punto contra agujas de reloj y un ángulo de rotación negativo rota el punto a favor de las agujas de reloj

Escalamiento El escalamiento altera el tamaño de los objetos En 2D, se requiere dos factores de escalamiento, sx y sy Estos factores escalan al objeto en las direcciones x e y El escalamiento se hace multiplicando las coordenadas x-y de cada vértice del objeto por sus factores de escalamiento Por ejemplo, si tenemos el vértice en (x,y), lo escalaríamos de esta manera: x’ = sx ● x y’ = sy ● y Si sx = sy tenemos un escalamiento uniforme

Colisión rectangular Cada cuadro es una imagen rectangular El rectángulo define los límites del sprite Calculando las posiciones de dos sprites (rectángulos), se puede determinar si hay una colisión

Detección de una colisión o intersección El límite de la primera caja limitante está determinado por L=1, B=1, R=3, T=3 El límite de la segunda caja limitante está determinado por L’=2, B’=2, R’=4, T’=4 Hallar lo siguiente: Max(L, L’) = Max(1,2) = 2 Max(B, B’) = Max(1,2) = 2 Min(R, R’) = Min(3,4) = 3 Min(T, T’) = Min(3,4) = 3

Detección de una colisión o intersección Las dos cajas limitantes se intersecan si: Max(Max(L, L’) - Min(R, R’), Max(B, B’) - Min(T, T’)) <= 0 Max(2-3, 2-3) <= 0 Max(-1, -1) <= 0 -1 <= 0, luego hay intersección Las dos cajas limitantes se intersecan y forman un nuevo rectángulo: L=2, B=2, R=3, T=3

Detección de una colisión o intersección El límite de la primera caja limitante está determinada por: L=1,2, B=1, R=2,8, T=2,6 El límite de la segunda caja limitante está determinada por: L=3,6, B=3, R=5,3, T=4,5 Encontrar lo siguiente: Max(L, L’) = Max(1,2, 3,6) = 3,6 Max(B, B’) = Max(1, 3) = 3 Min(R, R’) = Min(2,8, 5,3) = 2,8 Min(T, T’) = Min(2,6, 4,5) = 2,6

Detección de una colisión o intersección Las dos cajas limitantes se intersecan si: Max(Max(L, L’) - Min(R, R’), Max(B, B’) - Min(T, T’)) <= 0 Max(3,6 – 2,8, 3 – 2,6) <= 0 Max(0,8, 0,4) <= 0,8 0,8 > 0, luego no hay intersección Las dos cajas limitantes no forman un nuevo rectángulo puesto que el resultado es positivo

Sistemas de coordenadas diferentes Un sistema de coordenadas de pantalla tiene la parte superior izquierda en (0, 0):

Sistemas de coordenadas diferentes La misma ecuación de la sección anterior se aplica con las siguientes observaciones: Nada cambia con respecto a la izquierda y derecha Puesto que el techo es menor que el fondo: Max(B, B’) debe convertirse en Min(B, B’) Min(T, T’) debe convertirse en Max(T, T’) Así que la ecuación final es: Max(Max(L, L’) – Min(R, R’), Min(B, B’) – Max(T, T’)) <= 0

Sistemas de coordenadas diferentes

Velocidad El vector velocidad V(x, y) describe la velocidad y la dirección de un objeto en movimiento Velocidad La velocidad es la magnitud de V(x, y) Ejemplo: Dirección Los vectores unitarios son vectores que tienen longitud uno y se usan para indicar la dirección Ejemplo: uv(x/L, y/L) dónde L es la distancia desde el origen

Velocidad Dirección de un sprite usando coordenadas vectoriales Obtener la longitud L del vector (x, y) El vector unitario es: X = x/L Y = y/L Usando el sistema de coordenadas descrito anteriormente Y = -y/L

Resumen de la sesión Transformación, colisión y velocidad de los sprites Transformación Colisión Velocidad

¿Deseas aprender más? DigiPen Institute of Technology ofrece una variedad de vías para explorar una carrera en el desarrollo de juegos de video: La serie original de webcasts sobre desarrollo de juegos - Realizada en mayo del 2005. Se puede ver en http://www.microsoft.com/events/series/msdnvideodev.mspx El código de esta sesión está en http://www.digipen.edu/webcast/ Talleres de verano – Series de clases introductorias en programación de juegos, producción de animaciones 3D y robótica. Más información en http://workshops.digipen.edu ProjectFUN Distance Learning – DigiPen tiene cursos en línea impartidos por sus instructores. Más información en http://projectfun.digipen.edu

Preguntas y respuestas Proponer preguntas usando el botón “Ask a Question” No te olvides de llenar la encuesta Para webcasts futuros y pasados (en inglés) http://www.microsoft.com/webcasts Para webcasts futuros y pasados (en castellano) http://www.microsoft.com/spanish/msdn/latam/video Esta serie de webcasts está grabada en http://www.microsoft.com/spanish/msdn/latam/video/academic.asp Este webcast fue presentado usando Microsoft Office LiveMeeting. Se puede obtener una prueba de 14 días gratuita en http://www.microsoft.com/presentlive

¿Dónde se puede obtener MSDN? Llenar la encuesta al final del webcast y pedir a un representante de Microsoft que le contacte Convertirse en un suscriptor de los CDs/DVDs de MSDN en http://msdn.microsoft.com/subscriptions

Control del jugador de los sprites Nos vemos la próxima semana para… Control del jugador de los sprites