Converti vertice di nuovo in coordinate mondiali (Python)

Oct 04 2020

Ho disegnato un cerchio nella finestra con Python, il cerchio ha un vettore centrale (self._center) nello spazio del mondo.

Voglio spostare il vertice centrale nella posizione x locale 0.

Quindi ho provato a convertire prima self._center in valori locali utilizzando la matrice di visualizzazione che ho memorizzato e impostato X su 0:

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

Ora voglio impostare self._center sul nuovo valore (v) ma nello spazio del mondo. Qualcuno sa come riportarlo nello spazio mondiale?

Risposte

1 Jayanam Oct 04 2020 at 04:26

Immagino di averlo risolto in questo modo:

rot_mat = self._view_context._view_mat

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

self._center += v2