2010-08-22 21 views
4

Je fais un jeu que vous pouvez voir ici, si vous êtes sous Windows ou Linux: http://insertnamehere.org/birdsofprey/pendulaire avec mouvement pivotant

Si vous cliquez et maintenez votre souris sur un oiseau, vous pouvez voir que je suis balancer l'oiseau d'avant en arrière dans le mouvement pendulaire. Je voudrais, au contraire, mettre en œuvre un mouvement plus réaliste, où le mouvement de votre souris affecte le balancement de l'oiseau comme un pendule avec un pivot en mouvement.

J'ai trouvé a document sur ce sujet mais les équations reposent sur la connaissance de l'accélération du pivot (X '' et Y ''), ce que je ne fais pas; Je ne fais que traduire à plusieurs reprises le graphique de l'oiseau à la position actuelle de la souris. J'ai l'angle de l'oiseau (-180 à 180 degrés), la vitesse angulaire et l'accélération. Je devrai modifier ces trois variables chaque fois que la souris sera déplacée, donc j'aurai aussi la dernière (x, y) et la nouvelle souris (x, y).

Est-ce suffisant pour faire une bonne simulation d'un pendule avec un pivot mobile?

+0

"Une procédure pour dessiner les pendules" Impossible de dire si cette "procédure" (un tas d'images cuites illisibles) est censée être une blague. Les mathématiciens doivent laisser la programmation aux programmeurs ... –

Répondre

4

Si vous pouvez échantillonner la position de la souris (x, y) à une résolution temporelle suffisamment élevée, vous pouvez calculer les accélérations X '' et Y '' numériquement. Supposons que vous ayez mesuré trois positions X à des moments connus: (x0, t0), (x1, t1), (x2, t2).

Calcul v = X »= dx/dt pour les intervalles (t0, t1) et (t1, t2):

v0 = (x1 - x0)/(t1 - t0) au moment TV0 = (t1 - t0)/2

v1 = (x2 - x1)/(t2 - t1) au moment TV1 = (t2 - t1)/2

calculer ensuite X '' = V »= dv/dt = (v1-v0)/(tv1 - tv0)

Y '' est calculé de manière similaire. Ensuite, vous pouvez insérer X '' et Y '' dans les équations que vous avez déjà trouvées, pour calculer la position du pendule au pas de temps suivant.