|
Operações básicas pra se programar jogos Cada tipo de jogo requer obviamente um conjunto básico de operações. A maioria requer o tratamento mínimo de→ ● Sistema cartesiano (2D e 3D) ● Escala, rotação, translação de primitivas e modelos ● Vetores ● Ângulo entre vetores ● Normal/perpendicular a um plano ● Posicionamento da câmera ● Trajetória de tiros ● Detecção e reação de colisão ● Perseguição de oponentes ● Seleção, recorte, fôrma (stenciling) ● Reflexão, espelhamento ● Texturização ● Iluminação de modelos Especificamente pra ambiente 3D→ ● Nódulos ● Mapas, mundos, modelos, skyboxes, billboards, Curvas de Bezier ● Esqueletização ● Formatos .x, .md2, .bsp, .dbo Ângulo entre 2 vetores em 2D A figura abaixo mostra uma nave posicionada em O que aponta pra A. Se for rotacioná-la de forma a apontar pra D deve-se encontrar o ângulo interno ou o externo. Nessa situação alfa é o interno e teta é o externo.
O produto escalar pode ser usado pra encontrar o menor ângulo entre dois vetores (ou seja, o ângulo interno).
Essa coisa mal encarada pode ser traduzida pra→ Angulo = ArcCos (ProdutoEscalar (OA; OD) / Modulo (OA)*Modulo (OD)) A característica dela é que retorna um ângulo apenas entre 0º e 180º. Se um jogo 2D requerer um lança-míssil com capacidade de mapear completamente os oponentes à sua volta (conseguir rotacionar em 360º), será necessário saber a direção do giro. O determinante indica a orientação entre dois vetores 2D. Se for um valor positivo, indica que formam um ângulo maior que 0º e menor que 180º. Do contrário, formam um maior que 180º e menor que 360º.
Ou seja→ Direcionamento = OA.x * OD.y - OA.y * OD.x
| |||||||||
| |||||||||