将点转换为另一个坐标系
Converting points into another coordinate system
3D中有3个点space。有2个同原点的正交坐标系。我知道这三个点在两个坐标系中的坐标。给定一个在第一个坐标系中有坐标的新点,我如何在第二个坐标系中找到它的坐标?
我认为可以使用给定的点来获得旋转矩阵,但我没有成功。
您可以使用矩阵求逆来完成。三个矩阵向量乘法(例如,将三个 3D 向量转换为一个 3x3 矩阵)相当于将两个 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,依此类推
3D中有3个点space。有2个同原点的正交坐标系。我知道这三个点在两个坐标系中的坐标。给定一个在第一个坐标系中有坐标的新点,我如何在第二个坐标系中找到它的坐标?
我认为可以使用给定的点来获得旋转矩阵,但我没有成功。
您可以使用矩阵求逆来完成。三个矩阵向量乘法(例如,将三个 3D 向量转换为一个 3x3 矩阵)相当于将两个 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,依此类推