Retournement un angle à l'aide radians
-
20-09-2019 - |
Question
Bonjour à tous vous maths whizzes là-bas!
Je suis aux prises avec un problème de mathématiques J'espère que vous pouvez me aider. J'ai calculé un angle de direction à l'aide 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 déplacer l'arrière-plan à la place. Cela me faut inverser mon angle calculé. Si la direction de mon radians sprite est équivalent à 90 degrés, je veux le convertir à 270 degrés. Encore une fois, tout en gardant à l'radians.
Je dois admettre que ma connaissance de Trig est pauvre au mieux. Est-il un moyen de déterminer l'angle opposé en utilisant radians? Je sais que je pourrais convertir mes radians en degrés, puis ajouter / soustraire 180 degrés, puis reconvertir en radians, mais je suis à la recherche de quelque chose de plus efficace.
Merci d'avance ....
-Scott
La solution
Ajouter / soustrayez pi
à la place.
Autres conseils
object_sprite.rotation = warp_direction - 3,14;
Vous devez ajouter Pi puis utiliser le reste après la division par 2 Pi (pour le rendre limité à portée de [0; 2 Pi]
).
JavaScript:
function invertAngle(angle) {
return (angle + Math.PI) % (2 * Math.PI);
}