我正在使用WPF的MatrixTransform来管理Canvas(所有2D)上的平移,缩放和旋转。它运作良好。但是,我希望能够计算当前的旋转角度。这是怎么做到的?我是否需要反转矩阵然后使用它来旋转某些东西?如有必要,我可以提供“轮换”点。
答案 0 :(得分:1)
假设:
步骤:
您可以忽略最终的平移组件,为您提供包含比例和旋转的左上角3x3矩阵。
缩放只是乘以缩放因子的对角矩阵(缩放矩阵中的每一列),因此您可以对列向量进行归一化,以提供纯粹表示旋转的正交矩阵。
要获得旋转角度,您需要选择旋转轴或要旋转的矢量(从中可以计算旋转轴和角度。)
后一种情况更容易: