Je dois obtenir un vecteur haut pour une caméra (pour obtenir le bon look) à partir d'un angle de roulis, de tangage et de lacet (en degrés). J'ai essayé différentes choses pendant quelques heures et n'ai eu aucune chance :(Toute aide ici serait appréciée!Comment obtenir un vecteur de caméra à partir du roulis, du tangage et du lacet?
Répondre
Rouleau, Pitch et lacet définissent une rotation dans 3 axes. De ces angles, vous pouvez construire un 3x3 matrice de transformation qui exprime cette rotation (see here how)
Après avoir cette matrice, vous prenez votre vecteur régulier, disons (0,1,0) si 'up' est l'axe Y et multipliez-le avec la matrice. obtenir le vecteur
Modifier transformé en -.
application de la transformation de (0,1,0) est la même chose que la prise de la rangée centrale 3 les lignes de la matrice mak. e up une base orthogonale du système en rotation. Rappelez-vous qu'une API graphique 3D utilise des matrices 4x4. Donc, pour faire une matrice 4x4 de la matrice de rotation 3x3 vous devez ajouter un « 1 » à M [3] [3] (le coin) et des zéros au reste comme ceci:
r r r 0
r r r 0
r r r 0
0 0 0 1
Shoosh, et si je n'appliquais pas la transformation au (0,1,0)? Est-ce que je peux simplement sortir une des lignes/colonnes de la matrice de rotation comme mon ascendant? Merci – Polaris878
Oui, au lieu de faire la transformation vector-matrice, vous pouvez simplifier l'équation en omettant les zéro-sommes/termes. De plus, les vecteurs peuvent être major en colonne ou en rang majeur. Assurez-vous d'extraire l'axe correctement. –
Cela ne peut pas répondez directement à votre question, même si cela peut encore aider. J'ai un projet gratuit open-source pour XNA qui crée un terminal de débogage qui recouvre votre jeu pendant qu'il est en cours d'exécution. Vous pouvez l'utiliser pour rechercher des valeurs, appeler des méthodes, etc. Donc, si vous avez une matrice de transformation et que vous voulez en extraire plusieurs parties pendant que le jeu tourne, vous pouvez le faire. Le projet peut être trouvé ici: http://www.protohacks.net/xna_debug_terminal
Je n'ai pas beaucoup d'expertise dans le genre de maths que vous utilisez, mais j'espère que le post de Shoosh aide à cela. Peut-être que le terminal de débogage peut vous aider lorsque vous essayez son idée ou dans d'autres problèmes futurs que vous rencontrez.
hah j'ai hâte de jouer avec ça plus tard. Ca ressemble à un outil que je voulais depuis un moment ... j'aurais dû écrire une console dans mes projets et sortir des données là ... très très maladroit. –
- 1. Retourne un tableau sous-jacent à partir du vecteur
- 2. Comment obtenir un fichier modifié à partir du fichier de base et du fichier diff?
- 3. Obtenir du texte brut à partir du texte démarqué
- 4. Obtenir l'objet à partir du handle Windows
- 5. Comment obtenir de la valeur à partir du haricot Struts?
- 6. comment obtenir la valeur de chaîne à partir du fil
- 7. vecteur normal du moins plan carrés dérivés
- 8. Win32API - Comment obtenir le nom de fichier du processus à partir du handle de processus?
- 9. comment obtenir la position de l'écran MS Word à partir du contrôle du ruban?
- 10. Comment contrôler une caméra en openGL avec un vecteur de gravité provenant de l'accéléromètre de l'iPhone?
- 11. Obtenir la géométrie du chemin à partir de l'objet FlowDocument
- 12. Intersection sur un cercle de vecteur provenant du cercle
- 13. Définition du curseur personnalisé à partir du fichier de ressources
- 14. Obtenir le code IL à partir du fichier binaire DLL
- 15. Comment accéder aux variables du vecteur <struct> * obj?
- 16. Obtenir des fichiers Xml à partir du site Web
- 17. Le comportement du vecteur chevauché :: insert
- 18. Obtention d'un System.Type à partir du nom partiel du type
- 19. Comment obtenir l'utilisation du processeur ou l'utilisation du disque de l'application à l'aide de l'API Windows à partir de C++?
- 20. Récupère la valeur du noeud à partir du code XML
- 21. C# .Net Obtenir le dernier jour du mois précédent à partir de la date du jour
- 22. iPhone SDK: Obtenir le nom du contact à partir du numéro de téléphone
- 23. Comment capturer un événement de collage à partir du menu contextuel du clic droit?
- 24. Comment lire et écrire à partir du port série
- 25. Récupération du contact et du GUID de l'entreprise depuis ACT!
- 26. Comment changer la position du curseur de la souris dans OpenGL/Glut?
- 27. Retour du fichier à partir du module python
- 28. Chargement dynamique du contenu NSPopUpButton à partir du fichier XML
- 29. Comment obtenir un aperçu de la caméra dans Android?
- 30. Obtention d'une entrée utilisateur à partir du calque du modèle
Depuis que vous l'avez étiqueté avec toutes les principales bibliothèques graphiques, je suppose qu'il est raisonnable de supposer que vous voulez dire comment le faire en général. –
Yep Blaenk c'est correct ... J'avais juste besoin d'aide avec les maths: D – Polaris878