我有两个 2D 对象,每个对象在 C# 中都有一个变换矩阵。
事实上,其中之一来自另一个的旋转。
如何计算这两个矩阵之间的角度?
有什么方法可以直接实现吗?
问问题
1484 次
2 回答
1
这取决于矩阵的存储方式,但通常它以“基于列”的顺序存储,这意味着
XAxis_x YAxis_x Offset_x
XAxis_y YAxis_y Offset_y
0 0 1
因此,如果你XAxis
从一个矩阵和XAxis
另一个矩阵得到一个向量,你可以测量这两个向量之间的角度。以相同的方式测量YAxises
两个矩阵之间的角度后。所以最后你将有 2 个角度:Rx
, Ry
,它们应用于第一个矩阵,将为你生成第二个。
于 2013-09-16T07:14:17.003 回答
1
通过角度 θ 旋转的任何 2D 角度变换将如下所示:
| cos(θ) -sin(θ) 0 |
T = | sin(θ) cos(θ) 0 |
| 0 0 1 |
如果将两个转换矩阵相乘,您将得到另一个具有相同形式的矩阵。计算角度应该很容易。
于 2013-09-16T10:35:02.367 回答