Converta vértice de volta em coordenadas mundiais (Python)

Oct 04 2020

Pintei um círculo na janela de visualização com Python, o círculo tem um vetor central (self._center) no espaço do mundo.

Quero mover o vértice central para o local x local 0.

Então, tentei converter o self._center primeiro em valores locais usando a matriz de visualização que armazenei e defini X como 0:

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

Agora eu quero definir o self._center para o novo valor (v), mas no espaço do mundo. Alguém sabe como reverter para o espaço mundial?

Respostas

1 Jayanam Oct 04 2020 at 04:26

Acho que resolvi assim:

rot_mat = self._view_context._view_mat

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

self._center += v2