У меня есть мировые (3d) точки куба. У меня также есть 3 разных матрицы 3x4 RT, которые преобразуют 3d-точки в 2d-точки изображения. Что я хочу сделать в Sketchup, так это изменить точку обзора камеры (ориентацию) в соответствии с заданными матрицами RT. Но объект камеры Sketchup предоставляет глаз (трехмерная точка, в которой расположена камера), цель (трехмерная точка, на которую смотрит камера) и вверх (информация об оси). Как мне преобразовать мою матрицу RT в глаз, цель и вверх? Я буду использовать API Sketchup Ruby.
Как изменить ориентацию камеры в Sketchup с матрицей 3x4 2D-проекции (RT) с помощью Sketchup Ruby API?
Ответы (1)
Давайте возьмем верхние 3x3 матрицы RT, вы получите-
RT=
R11 R12 R13 T1
R21 R22 R23 T2
R31 R32 R33 T3
R= R11 R12 R13 R21 R22 R23 R31 R32 R33
T= T1 T2 T3
ось у=R21 R22 R23
ось z=R31 R32 R33
Вы можете изменить камеру SU с помощью глаза, цели и вверх.
глаз=-R(транспонировать)*T
цель = глаз + ось z
вверх=-yось
person
Rifat Rousseau
schedule
15.03.2014