2

所以我在 3D 坐标系(红色)中有一个矩形(蓝色)角的四个坐标。我想创建一些矩阵以将红色坐标系中矩形上的任何给定点转换为绿色坐标系中的(2D)点。

插图

我想这类似于从 3D 模型中的相机到屏幕的转换,但我没有相机的坐标和矢量。有没有你可以推荐的文章或想法,或者你甚至有矩阵/算法可以分享?

4

1 回答 1

3

当从一个坐标系转换到另一个坐标系时,主要动作是对齐这些系统。在这里,您需要:

  • 将蓝色矩形的左下角点(2D坐标系原点)平移到3D坐标系原点(T)
  • 将两个系统的 x 轴与旋转 (R1) 对齐
  • 将另一个轴(y 轴)与另一个旋转对齐。(R2)

在线性代数中,变换以相反的顺序应用,因此给定 3D 空间中的点 p,您可以通过以下方式获得结果:

R2 * R1 * T * p

维基百科关于平移矩阵旋转矩阵的文章是关于如何计算这些矩阵的好资源。

最后提醒一下,您需要使用坐标的齐次形式,即;p(x,y,z,1)

于 2011-11-29T09:40:01.913 回答