2010-03-16 10 views
2

J'ai besoin de l'algorithme pour animer la flèche basée sur 2 paramètres, l'angle pendant la prise de vue et la puissance tout en tirant l'arc. Ive a essayé d'utiliser y = asinx mais cela ne fonctionne que lors de la prise de vue vers le haut. Ne fonctionne pas bien lors de la prise de vue avec la direction droite ou vers le bas. Merci.Algorithme de programmation de jeu de tir à l'arc

+0

'y = asinx'? Quels sont 'y',' a' et 'x'? 'x' est l'angle et' a' le pouvoir? –

+0

Coordonnée Y = y a = angle x = x coordonnée La variable de puissance i l'a ajoutée à la coordonnée x. –

+0

Est-ce que ça va être 'The Golden Shot' avec Bob Monkhouse? – amelvin

Répondre

12

Le vol de votre projectile est décrit par

x(t) = v * cos(theta) * t 
y(t) = v * sin(theta) * t - 1/2 * g * t^2 

où t est le temps, v la vitesse initiale (puissance) , thêta l'angle, g l'accélération due à la gravité (par exemple 9,8 m/s^2), x la coordonnée horizontale et y la hauteur.

+3

En supposant pas de vent et résistance à l'air négligeable –

+0

Merci mal essayer ceci et mettra à jour si cela fonctionne pour moi ou non. Merci –

+2

Et en négligeant la force de Coriolis ;-) –

7

Vous pouvez essayer de simuler le mouvement au lieu de dériver la fonction analytique. c'est-à-dire garder une trace de la position actuelle, de la vitesse et des vecteurs d'accélération pour la flèche, et à chaque incrément de temps, mettre à jour la position en fonction de la vitesse et de la vitesse basées sur l'accélération.

autrement, si vous avez besoin d'une fonction analytique, Voir @bnaul's answer pour la version analytique

+0

La simulation du mouvement nécessiterait une comparaison supplémentaire avec l'utilisation de la fonction. Pourriez-vous décrire ce qui est x, y, a, b, c ici? –

+0

Pourquoi utiliser une solution de force brute lente et inexacte pour une équation analytique trivialement solvable? –

+0

@Rex: car le cas habituel lié au jeu implique des composants non analytiques - des collisions avec des formes de terrain arbitraires ou des objets, par exemple. – Jimmy

Questions connexes