2011-09-08 4 views
1

J'ai une séquence d'éléments et je veux les faire pivoter sur les axes x et y en place dans son ensemble. C'est-à-dire que je veux que tous mes articles comptent comme un seul article et que cet article soit en rotation. Comment puis-je atteindre cet objectif?Opengl Rotation

Répondre

4

En général, déterminez un point de référence, peut-être le centre de gravité de tous les éléments. Appelez ce point (x, y). Puis

  • traduisons les éléments par (-x, -y)
  • Tournez-les
  • les retraduire par (x, y)

Vous voulez précalculer la transformation composite , bien sûr, mais c'est l'idée de base. Notez que par "éléments", nous entendons simplement tous les polygones de votre ensemble d'objets.

0

Faites pivoter les objets après les avoir translatés à leur place. En bref, cela revient à l'ordre des transformations matricielles: vous voulez faire la rotation * traduction, pas l'inverse.