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

Transform plane to another coordinate system

我有一个相机坐标系,由相对于世界坐标系的旋转矩阵 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] 平面(在相机中)和 R = (90, 0, 90) 在 XYZ 欧拉和 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