0

我有两个 2D 对象,每个对象在 C# 中都有一个变换矩阵。
事实上,其中之一来自另一个的旋转。
如何计算这两个矩阵之间的角度?
有什么方法可以直接实现吗?

4

2 回答 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 回答