将点转换为另一个坐标系

时间:2015-07-06 23:24:04

标签: algorithm matrix geometry computational-geometry rotational-matrices

3D空间有3个点。有两个具有相同原点的正交坐标系。我知道两个坐标系中这三个点的坐标。给定第一个坐标系中坐标的新点,如何在第二个坐标系中找到它的坐标?
我认为使用给定点来获得旋转矩阵是可能的,但是我没有成功。

1 个答案:

答案 0 :(得分:2)

您可以使用矩阵反转来完成。三次矩阵矢量乘法(例如,用3x3矩阵变换三个3D矢量)相当于将两个3x3矩阵相乘。

所以,你可以将你的第一组点放在一个矩阵中,称之为A:

0 0 1  < vector 1
0 1 0  < vector 2
2 0 0  < vector 3

然后将第二组点放在第二个矩阵中,称之为C.例如,假设一个变换在原点周围缩放2倍并翻转Y轴和Z轴:

0 2 0  < vector 1
0 0 2  < vector 2
4 0 0  < vector 3

所以,如果A x B = C,我们需要找到矩阵B,我们可以通过找到A -1 找到它:

反向A:

0 0 0.5
0 1 0
1 0 0

乘以A -1 x C(按此顺序):

2 0 0
0 0 2
0 2 0

这是一个可以应用于新点的变换矩阵B.点积乘以第一列的矢量得到变换后的X,第二列得到变换后的Y等。