Dado un conjunto de cartas de juego (imágenes rectangulares con un ancho y una altura), ¿cómo puedo rotar y colocar cada una de ellas para que aparezcan en un patrón de 'abanico', al igual que si tuviera una mano de cartas en la vida real? ¿Qué matemática se necesita para hacer esto?
ACTUALIZAR
Aquí está el final, en la implementación del navegador en JavaScript: https://cosmicrealms.com/blog/2013/03/16/hand-of-cards/ y http://jsfiddle.net/tyyvk/108/
mathematics
Sembranza
fuente
fuente
Respuestas:
Teoría
Como no especificó en qué plataforma está implementando esto, le daré una descripción del algoritmo de forma independiente del lenguaje:
Es evidente que la rotación se centra alrededor de una de las esquinas inferiores de la tarjeta (o cerca de la esquina) al mirarla:
Implementación
En cuanto a cómo implementar esto, depende de su plataforma. En XNA, simplemente puede usar el parámetro Origen de
SpriteBatch.Draw
para cambiar el centro de su rotación.Esto es lo que obtuve con el siguiente código (con algunos ajustes en el origen para que se vea mejor, básicamente el origen comienza cerca de la esquina derecha y termina cerca de la esquina izquierda):
Y el resultado:
fuente