Mengonversi simpul kembali ke koordinat dunia (Python)

Oct 04 2020

Saya melukis lingkaran ke viewport dengan Python, lingkaran tersebut memiliki vektor pusat (self._center) di ruang dunia.

Saya ingin memindahkan titik tengah ke lokasi x lokal 0.

Jadi saya mencoba mengonversi self._center terlebih dahulu ke nilai lokal dengan menggunakan matriks tampilan yang saya simpan dan atur X ke 0:

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

Sekarang saya ingin mengatur self._center ke nilai baru (v) tetapi di ruang dunia. Adakah yang tahu bagaimana mengembalikannya ke ruang dunia?

Jawaban

1 Jayanam Oct 04 2020 at 04:26

Kira saya menyelesaikannya seperti ini:

rot_mat = self._view_context._view_mat

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

self._center += v2