将坐标转换为另一个坐标系

Posted

技术标签:

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

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

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

【问题讨论】:

任何关于线性代数的教科书都会涵盖这个主题。 投影是首先阅读的主题。 【参考方案1】:

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

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

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

R2 * R1 * T * p

关于Translation Matrix 和Rotation Matrix 的***文章是关于如何计算这些矩阵的好资源。

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

【讨论】:

以上是关于将坐标转换为另一个坐标系的主要内容,如果未能解决你的问题,请参考以下文章

空间坐标转换: 布尔沙七参数(C++版本)

使用地理工具从给定 CRS 转换坐标的字符串表示

如何从一个笛卡尔系统转换为另一个笛卡尔系统

将窗口坐标转换为屏幕坐标??

halcon怎么将相机坐标转换为机械手坐标

如何将80坐标系转换成84坐标系