【发布时间】:2012-10-10 18:26:37
【问题描述】:
我正在使用 WPF 的 MatrixTransform 来管理我在 Canvas(全 2D)上的平移、缩放和旋转。它运作良好。但是,我希望能够计算当前的旋转角度。这是怎么做到的?我需要反转矩阵然后用它来旋转一些东西吗?如有必要,我可以提供一个“旋转点”。
【问题讨论】:
-
除非矩阵完全是旋转变换矩阵(即:具有适当的对称性),否则变换本身没有“角度”。你必须定义你的意思——如果变换扭曲了原来的,那么你在哪里参考你的角度?想象一下,矩阵取一个正方形,只移动一个顶点——它的“角度”是如何变化的?
-
如果您可以将 MatrixTransform 替换为包含其他变换(Rotate、Translate、Scale、Skew 等)的 TransformGroup,您可能会找到您要查找的内容。