【问题标题】:How to calculate the transformation matrix of 3D coordinate system?如何计算3D坐标系的变换矩阵?
【发布时间】:2014-06-02 01:38:27
【问题描述】:

现在我在 2 个不同的坐标系中有很多组 3D 坐标,我想使用这些坐标计算变换矩阵。例如:A点在这两个坐标系中的坐标分别为(i,j,k)和(x,y,z)。所以

(i,j,k,1)=(x,y,z,1)*M

M是我想要的,但是矩阵是奇异的,所以我不能直接计算i,那我该怎么做呢?

【问题讨论】:

  • 有了你的坐标,你确定它们完全一样,只是乘以 M 吗?误差幅度有多大?一批有多少个点,1、10、100、1000?

标签: 3d coordinate-systems coordinate-transformation


【解决方案1】:

首先最好把方程写成这样:

(i,j,k,1) = M*(x,y,z,1)

现在,对于坐标系中的每一对点,您都有上面的方程,并且每个方程都可以通过一个方程系统来表示,该方程系统有 4 个方程和 16 个变量,我们将它们称为 m11 、 m12 、 m13 、 m14 , m21 , ... , m44。我们想为给定的一组点找到这些变量。

因此,只要您的一对点小于 4,您就可能有多个解决方案,并且对于恰好 4 对点,您将获得一个解决方案。现在,如果有超过 4 对点,您可能根本没有方程组的解。

所以除了监控我上面提到的条件之外,你所要做的就是求解一个线性方程组。如需有关求解线性方程组的帮助,请阅读以下内容:

http://en.wikipedia.org/wiki/System_of_linear_equations

【讨论】:

  • 真的很抱歉。英语不是我的母语。我修好了,谢谢。
猜你喜欢
  • 1970-01-01
  • 2012-07-31
  • 2012-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-04
  • 1970-01-01
相关资源
最近更新 更多