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

Était-ce utile?

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);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top