我有两个2D对象,每个对象都有一个C#转换矩阵
事实上,其中一个来自另一个的旋转
如何计算这两个矩阵之间的角度?
有没有什么方法可以直接做到?
答案 0 :(得分:1)
这取决于矩阵的存储方式,但通常它存储在“基于列”的顺序中,这意味着
XAxis_x YAxis_x Offset_x
XAxis_y YAxis_y Offset_y
0 0 1
因此,如果您将XAxis
视为来自一个矩阵的向量而XAxis
来自另一个矩阵,则可以测量这两个向量之间的角度。以相同的方式测量两个矩阵的YAxises
之间的角度。因此,最后您将有两个角度:Rx
,Ry
,它们应用于第一个矩阵,将生成第二个一个。< / p>
答案 1 :(得分:1)
旋转角度θ的任何2D角度变换将如下所示:
| cos(θ) -sin(θ) 0 |
T = | sin(θ) cos(θ) 0 |
| 0 0 1 |
如果你将两个变换矩阵相乘,你会得到另一个相同形式的变形矩阵。计算角度应该很容易。