【问题标题】:Transform coordinates into another coordinate system将坐标转换为另一个坐标系
【发布时间】:2011-11-29 09:05:48
【问题描述】:

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

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

【问题讨论】:

  • 任何关于线性代数的教科书都会涵盖这个主题。 投影是首先阅读的主题。

标签: .net computer-science coordinates coordinate-transformation


【解决方案1】:

从一个坐标系转换到另一个坐标系时,主要操作是对齐这些系统。您需要这样做:

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

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

R2 * R1 * T * p

关于Translation MatrixRotation Matrix 的维基百科文章是关于如何计算这些矩阵的好资源。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多