我有世界(3D)立方体点。我还有3个不同的3x4 RT矩阵,将3D点转换为2D图像点。我想在Sketchup中做的是根据给定RT矩阵更改相机视点(方向)。但是,Sketchup Camera对象提供了眼睛(相机位于相机的3D点),目标(相机正在查看的3D点)和向上(轴信息)。如何将RT矩阵转换为眼睛,目标和向上?我将使用Sketchup Ruby API。

有帮助吗?

解决方案

让我们占RT矩阵的上3x3,你得到 -

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

yaxis= R21 R22 R23

zaxis= r31 r32 r33

你可以用眼睛,目标和向上改变苏相机。

eye= -r(转置)* t

目标= eye + zaxis

向上= -yaxis

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top