Corps en rotation de coordonnées sphériques
Est-il possible de faire pivoter le corps qui a ses sommets définis en coordonnées sphériques.
Actuellement, je suis en train de faire un collage de projet en VHDL et est sur le point de rotation dodécaèdre et présentant plus de VGA.
J'ai appliqué l'appareil photo à sténopé modèle équations et qui ne nécessite que deux sin/cos calcul et deux de multiplication par vertice.
Je viens de penser à rotation autour de 3ème axe à l'aide de 3 étapes sur deux angles, mais je suis incapable de comprendre la bonne équations et même si c'est possible.
Modifier
Je pense que je l'ai eu.
Rotation sur 3ème axe qui est dans la même direction que la caméra est juste de transformation 2D de coordonnées de la caméra une fois que vous vous calculer. Cela signifie que pour la rotation en 3 axes (ok deux axes et une inclinaison de), vous devez appliquer pour un total de 4 sin/cos calculs et 4 multiplications. Si une personne venait de pentecôte quelque chose de mieux, n'hésitez pas à poster une réponse.
OriginalL'auteur Luka Rahne | 2011-03-11
Vous devez vous connecter pour publier un commentaire.
Vous pouvez la faire pivoter autour de l'axe y en changeant de θ, et de la faire pivoter autour de l'axe z en changeant de φ. En rotation autour de l'axe des x, cependant, est un peu plus difficile.
La manière la plus simple serait de tout convertir cartésien de coordonnées, effectuer la rotation, et de les convertir en arrière.
Les équations de (x,y,z) (sphérique-à-cartésien) sont
Les équations de rotation (x,y,z) à de nouveaux points (x', y', z') autour de l'axe x par un angle α sont
Les équations de (r, θ, φ) (cartésien-à-sphérique) sont
Je ne sais pas si il existe un moyen de les réduire davantage, mais il devrait fonctionner.
Oui, en utilisant seulement la deuxième série d'équations pour la rotation 2D (en ignorant la première et la troisième) de travail, si l'on suppose que l'appareil photo est toujours situé et orienté sur l'axe des abscisses.
En fait, vous ne pouvez pas faire pivoter sur l'axe des z en changeant φ seulement. Cela dépend de votre actuel (θ, φ). Il est logique alors, que vous devez la convertir en coordonnées cartésiennes de faire une rotation sur les axes cartésien, en un sens, les axes cartésien "ne sont pas là" - vous ne pouvez pas "voyage le long de l'axe des x" par simple addition en coordonnées sphériques - alors, pourquoi devriez-vous être capable de tourner sur elle?
OriginalL'auteur BlueRaja - Danny Pflughoeft
J'espère que ce sera utile à quelqu'un dans le futur, mais il y a une petite erreur dans la réponse ci-dessus. Il doit être:
φ' = tan-1(y'/x')
= tan-1(tan φ cos α - cotan θ sin α sec φ)
Je n'ai pas de points de rep pour l'afficher dans le commentaire, mais pensé qu'il serait utile.
J'ai appliqué la mise à jour de la réponse comme une modification. J'espère que vous avez raison, parce que je n'ai pas le vérifier 🙂
J'ai vérifié moi-même et avait une autre personne de vérifier avant que j'ai posté. De Plus, je l'utilise dans mon travail, donc je ferais mieux d'être à droite. =)
OriginalL'auteur cosmosis