计算给出顶点的旋转角度

时间:2019-02-21 10:23:52

标签: rotation geometry augmented-reality

我有4个点(黑色A,黑色B,黑色C和黑色D),它们是旋转的红色正方形的顶点。 是否可以确定将红色正方形旋转为黑色正方形所用的三个角度(x角度,y角度和z角度)分别是什么? 在这种情况下,角度为: <link id="cherry-google-fonts-css" href="//fonts.googleapis.com/css?family=Montserrat%3A700%2Cregular%7CBookman+Old+Style%3A700%7CAbril+Fatface%3Aregular&amp;subset=latin%2Clatin-ext&amp;ver=5.0.3" type="text/css" media="all"> enter image description here

编辑:我只有四个黑点,没有红色的点。 我对红色正方形唯一了解的是它是正方形

1 个答案:

答案 0 :(得分:0)

有一种方法可以找到将点集转换为另一个集所需的仿射矩阵。 有了natrix,您可以找到角度。

2D情况is here的描述与3D情况相似。

 M * A = B

其中

    | xa xb xc xd|
 A =| ya yb yc yd|
    | za zb zc zd|
    | 1  1  1  1 |

    | xa' xb' xc' xd'|
 B =| ya' yb' yc' yd'|
    | za' zb' zc' zd'|
    |  1   1   1   1 |

要找到未知的M,我们可以将表达式的两边乘以A矩阵的逆数

 M * A * Inv(A) = B * Inv(A)
 M = B * Inv(A)

但是解决方案对于非共平面的点四联体是唯一的-在您的情况下,点位于同一平面上,因此,如果存在解,则它实际上是一组解,您必须选择任意一个。 (也许会明确定义角度)