有“转换矩阵”这个名词吗?

来源:百度知道 编辑:UC知道 时间:2024/07/08 02:31:09
知道对角矩阵,转置矩阵,什么是转换矩阵啊?以前怎么没听说过呢?

转换矩阵就是有一个矩阵转换为另一个矩阵时候乘的乘数》

1 转换矩阵的原理
OpenGL中的转换矩阵是这样定义的:
[Xx, Yx, Zx, Tx]
[Xy, Yy, Zy, Ty]
M = [Xz, Yz, Zz, Tz]
[0, 0, 0, 1 ]

其实我们可以这么理解这个变换矩阵, 它表示了一个局部坐标系, 这个局部坐标系,是把世界坐标系的原点移到(Tx, Ty, Tz),把X轴转到(Xx, Xy, Xz), Y轴转到(Yx, Yy, Yz),Z轴转到(Zx, Zy, Zz)而形成的。用它来变换一个世界坐标系中的点V, 就是得到这个局部坐标系中的点。
要证明这一点很容易, 我们从可以从更通用的方面来考虑,假设我们用矩阵Ma来表示坐标系a, Mb来表示坐标系b, Mt表示从a到b的转换, 那么:
Mt * Ma = Mb
Mt * Ma * (Ma)^-1 = Mb * (Ma)^-1
矩阵虽然不符合乘法交换律,但其符合乘法结合律, 于是:
Mt* (Ma * (Ma)^-1) = Mb * (Ma)^-1
Mt = Mb * (Ma)^-1
这就是a到b转换矩阵的表达式,现在我们从世界坐标系转换到局部坐标系,a表示的世界坐标系是个单位矩阵,所以:
Mt = Mb
即局部坐标系的矩阵表示就是从世界坐标系到局部坐标系的转换矩阵。

我们再进一步分析,如果我们用这个矩阵来变换一个点V(Vx, Vy, Vz, 1),需要把这个点右乘变换矩阵

[Xx, Yx, Zx, Tx] [Vx]
[Xy, Yy, Zy, Ty] [Vy]
V' = M*T = [Xz, Yz, Zz, Tz] * [Vz]
[0, 0, 0, 1 ] [1