Pour effectuer un picking en OpenGL, j'ai besoin de traverser le vecteur reçu par gluUnproject avec la forme. Cependant, comme la forme a été tournée et traduite, comment puis-je obtenir ses nouvelles coordonnées?Comment obtenir les coordonnées d'une forme déplacée/tournée dans OpenGL?
0
A
Répondre
1
Ceci n'est pas trivial. Vous devrez croiser votre forme avec le rayon. Vous pouvez le faire dans plusieurs espaces:
Je suppose que votre Ray est dans l'espace du monde. Si c'est le cas, vous pouvez transformer le rayon en espace objet avec l'inverse de la matrice ObjectToWorld (en prenant soin de transformer correctement la normale). Ou bien, vous transformez votre objet en ViewSpace et y faites les calculs.
Pouvez-vous être plus précis? Parle-t-on d'une forme analytique ou d'un maillage?
Questions connexes
- 1. OpenGL ES obtenir les coordonnées de l'objet
- 2. Comment obtenir les coordonnées de l'écran à partir des coordonnées du monde dans OpenGL android
- 3. Coordonnées dans OpenGL ES
- 4. Comment convertir écran les coordonnées en 2D OpenGL coordonnées
- 5. Comment fonctionnent les coordonnées de texture opengl?
- 6. Coordonnées normalisées pour OpenGL
- 7. Coordonnées des sommets dans OpenGL
- 8. OpenGL 2.0 ES coordonnées
- 9. Opengl transforme les coordonnées relatives du corps en coordonnées mondiales
- 10. comment obtenir les coordonnées du plan de découpage proche dans la coordonnée d'espace objet dans OpenGL
- 11. coordonnées absolues OpenGL
- 12. OpenGL: Convertir les coordonnées de l'écran en coor- données OpenGL
- 13. coordonnées d'écran aux coordonnées du monde réel dans opengl
- 14. comment obtenir les coordonnées UIImageView?
- 15. Les coordonnées logiques aux coordonnées de l'appareil Opengl
- 16. Problème de coordonnées OpenGL
- 17. Conversion de coordonnées de fenêtre en coordonnées d'axe dans OpenGL
- 18. Obtenir les coordonnées actuelles
- 19. Comment convertir les coordonnées du monde en coordonnées d'écran dans OpenGL ES 2.0
- 20. Extension de coordonnées OpenGL Fog dans Windows
- 21. Conversion de coordonnées 3D en coordonnées d'écran dans OpenGL
- 22. Transformations de coordonnées Cocoa/OpenGL
- 23. OpenGL glViewport() (réinitialisation des coordonnées)
- 24. C++ Transformation de coordonnées OpenGL
- 25. Dessin de lignes selon les coordonnées d'écran dans OpenGL
- 26. OpenGL: coordonnées 2D Vertex aux coordonnées de visualisation 2D?
- 27. Comment obtenir les coordonnées du mot TRichViewEdit?
- 28. Comment obtenir les coordonnées d'un événement tactile
- 29. Comment obtenir les coordonnées x, y
- 30. comment obtenir les coordonnées d'un réseau linéaire
J'ai un carré (0-0 -> 1000-1000) que je traduis et que je fais pivoter. Mon appareil photo ne bouge pas. Je clique sur le carré, dénoue le résultat qui me donne un rayon. Et j'aimerais connaître les coordonnées de l'intersection. J'ai déjà le code pour faire l'intersection, mais je manque le code pour transformer les coordonnées de l'objet dans ViewSpace. Toute aide appréciée. Je vous remercie ! –
Si votre caméra ne bouge pas, je suppose que vous ne définissez pas votre matrice d'espace de vue, donc c'est la matrice d'identité? Dans ce cas, le plus simple serait probablement de transformer votre carré en espace mondial. Si votre matrice de vue est l'identité, votre rayon devrait déjà être dans l'espace du monde. Vous devriez déjà avoir cette transformation, c'est la même que celle que vous utilisez pour rendre le carré. –
Veuillez ne pas utiliser le mot "espace" pour les cadres de coordonnées. C'est tout autre chose quand on parle de mathématiques vectorielles ... – ltjax