我有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&subset=latin%2Clatin-ext&ver=5.0.3" type="text/css" media="all">
编辑:我只有四个黑点,没有红色的点。 我对红色正方形唯一了解的是它是正方形
答案 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)
但是解决方案对于非共平面的点四联体是唯一的-在您的情况下,点位于同一平面上,因此,如果存在解,则它实际上是一组解,您必须选择任意一个。 (也许会明确定义角度)