将平面变换为另一个坐标系



我有一个相机坐标系,由旋转矩阵R和相对于世界坐标系的平移T定义。平面在照相机坐标中由法线N和点P定义。我想在世界坐标系中找到平面的方程。目前我正在做的是:

Transform P to world system by (P + T)
Transform N to world system by R.N

然后我使用转换后的PN找到计划的方程。我有两个问题:

1)如果我们取相机坐标系中相机中心到平面的垂直距离,

那应该等于世界坐标系中相机位置到平面的垂直距离,对吧?

2)假设上述情况为真,我当前的变换给出了不正确的结果,例如N=[1,2,1]P=[1,4,0]平面(在相机中)以及XYZ欧拉和R = (90, 0, 90) T =[3, 3, 9]

我做错了什么吗?谢谢

行向量围绕 z 轴的纯旋转矩阵(对于列向量只是转置它)将如下所示

 cosθ  sinθ  0
-sinθ  cosθ  0
  0      0   1

绕 x 轴的旋转由以下纯旋转矩阵表示

1    0     0
0  cosα  sinα
0 -sinα  cosα

角度应以弧度为单位,除非您使用可以正确评估带度的三角函数的东西。

要更改向量的基础,您需要连接旋转 R = RxRz(顺序很重要),然后将向量乘以结果V' = VR

要平移您的观点,您只需应用相同的旋转,然后平移P' = PR + T

最新更新