Estou fazendo um jogo 2D em que unidades disparam flechas umas nas outras. Conheço a posição do atirador e do alvo e a velocidade inicial do projétil. Quero saber o ângulo que o projétil deve ter para pousar no alvo. O alvo pode estar em uma altura diferente da do atirador.
Para resumir, eu sei v0, R e ge preciso encontrar o ângulo (ou a altura?).
Li http://en.wikipedia.org/wiki/Projectile_motion , mas não consigo encontrar algo relacionado ao que eu preciso.
2d
projectile-physics
trajectory
korn3l
fonte
fonte
Respostas:
A fórmula para encontrar o ângulo é
onde v é a velocidade inicial de lançamento, g é a constante de gravidade, x e y são a distância e a altura do alvo.
As duas raízes desta equação oferecem dois ângulos possíveis. Se os resultados forem imaginários , sua velocidade inicial não será grande o suficiente para atingir o alvo (se você deseja calcular o ângulo de alcance lido isso ). Cabe a você qual ângulo está selecionado. Faria sentido escolher o caminho mais direto, ou seja, o ângulo menor.
Você pode ver um GIF dessa equação abaixo com diferentes valores-alvo e uma velocidade de inicialização constante.
Recursos deste artigo da Wikipedia
fonte
No início deste ano, criei um simples shooter de cima para baixo. Eu usei o seguinte método:
Resposta anterior: /programming/15364852/move-sprite-diagonally/15365570#15365570
Ele calcula uma trajetória entre duas posições.
fonte