정점을 다시 세계 좌표로 변환 (Python)

Oct 04 2020

파이썬으로 뷰포트에 원을 그렸고, 원은 월드 공간에서 중심 벡터 (self._center)를 가지고 있습니다.

중심 정점을 로컬 x 위치 0으로 이동하고 싶습니다.

그래서 먼저 저장하고 X를 0으로 설정 한 뷰 매트릭스를 사용하여 self._center를 로컬 값으로 변환하려고했습니다.

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

이제 self._center를 새 값 (v)으로 설정하고 싶지만 월드 공간에 있습니다. 아무도 그것을 세계 공간으로 되 돌리는 방법을 알고 있습니까?

답변

1 Jayanam Oct 04 2020 at 04:26

다음과 같이 해결했다고 생각합니다.

rot_mat = self._view_context._view_mat

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

self._center += v2