【发布时间】:2021-10-20 02:56:40
【问题描述】:
如果我有3个不同的矩阵,一个用于旋转(R),一个用于平移(T),一个用于缩放(S),如何通过操纵引起的矩阵来实现这些矩阵的反向效果?
到目前为止,我收集到的是,如果我转置旋转矩阵,我将实现我想要的(这是正确的吗?)。另外两个呢? 如果有通用的方法,有没有这些方法不够用的特殊情况?
【问题讨论】:
标签: matrix opengl transformation
如果我有3个不同的矩阵,一个用于旋转(R),一个用于平移(T),一个用于缩放(S),如何通过操纵引起的矩阵来实现这些矩阵的反向效果?
到目前为止,我收集到的是,如果我转置旋转矩阵,我将实现我想要的(这是正确的吗?)。另外两个呢? 如果有通用的方法,有没有这些方法不够用的特殊情况?
【问题讨论】:
标签: matrix opengl transformation
旋转矩阵的逆R确实是它的转置RT。
缩放矩阵S的逆很简单,因为它只包含对角线元素(前三行,因为最后一行总是等于(0 0 0 1))
因此,您只需将每个对角线 si 替换为 1/si。
最后,平移矩阵T是一个单位矩阵,平移向量在最后一列。反过来是通过将这些元素替换为它们的负数来实现的。
也是3个矩阵乘积的逆,是逆积
(S T R)-1 = R-1 T-1 S -1
【讨论】: