2010-02-15 15 views
3

Bonjour à vous tous les maths sifflent!Renverser un angle en utilisant des radians

Je suis aux prises avec un problème de mathématiques J'espère que vous pourrez m'aider. J'ai calculé un angle de direction en utilisant des radians. Au sein de OpenGL ES je déplace mon mec en changeant ma valeur de point en tant que tel:



spriteLocation.x -= playerSpeed * cosf(playerRadAngle); 
spriteLocation.y -= playerSpeed * sinf(playerRadAngle); 

// playerRadAgnle is my angle of direction using radians 

Cela fonctionne très bien déplacer mon sprite dans le bon sens. Cependant, j'ai décidé de garder mon sprite "verrouillé" au milieu de l'écran et de déplacer l'arrière-plan à la place. Cela m'oblige à inverser mon angle calculé. Si la direction de mon sprite en radians est équivalente à 90 degrés, je veux la convertir en 270 degrés. Encore une fois, garder tout en radians.

Je reconnais que ma connaissance de Trig est au mieux médiocre. Y a-t-il un moyen de comprendre l'angle opposé en utilisant des radians? Je sais que je pourrais convertir mes radians en degrés, puis ajouter/soustraire 180 degrés, puis les convertir en radians, mais je cherche quelque chose de plus efficace.

Merci à l'avance ....

-Scott

Répondre

14

Ajouter/soustraire pi à la place.

+0

Puisque je fais cosf() sur le X et sinf() sur le Y, quel calcul puis-je faire à playerRadAngle pour y arriver? Encore une fois, mes compétences Trig sucent! Merci pour la réponse rapide! – Scott

+0

Il n'a pas dit soustraire de 2 * pi, il a dit ajouter (ou soustraire) 1 * pi. Avez-vous essayé cela? – Ramashalanka

+0

Ahhhh, il a changé de poste après l'avoir lu. Oui, cela a fonctionné parfaitement !!! Merci à vous deux pour les messages rapides! – Scott

0

object_sprite.rotation = warp_direction - 3.14; La soustraction de playerRadAngle de 2 * PI fonctionne pour l'axe Y, mais n'a aucun effet sur l'axe X.