Convertir le sommet en coordonnées du monde (Python)

Oct 04 2020

J'ai peint un cercle dans la fenêtre avec Python, le cercle a un vecteur central (self._center) dans l'espace du monde.

Je souhaite déplacer le sommet central vers l'emplacement x local 0.

J'ai donc essayé de convertir d'abord self._center en valeurs locales en utilisant la matrice de vue que j'ai stockée et mis X à 0:

vm = self._view_context._view_mat
v = self._center.copy()
v = v @ vm
v[0] = 0

Maintenant, je veux définir le self._center sur la nouvelle valeur (v) mais dans l'espace du monde. Est-ce que quelqu'un sait comment le ramener dans l'espace mondial?

Réponses

1 Jayanam Oct 04 2020 at 04:26

Je suppose que je l'ai résolu comme ceci:

rot_mat = self._view_context._view_mat

v = rot_mat @ self._center
v2 = rot_mat.inverted() @ Vector((-v[0],0,0))

self._center += v2