Q1。我想将点 (x1, x2, x3) 与点 (y1, y2, y3) 匹配。getAffineTransform
无论这些点的顺序如何,函数是否总是返回相同的变换矩阵?
Q2。如果我知道这些点仅通过旋转和平移进行转换而没有任何缩放,那么从getAffineTransform
.
Q1。我想将点 (x1, x2, x3) 与点 (y1, y2, y3) 匹配。getAffineTransform
无论这些点的顺序如何,函数是否总是返回相同的变换矩阵?
Q2。如果我知道这些点仅通过旋转和平移进行转换而没有任何缩放,那么从getAffineTransform
.
A1,是的,只要两组点不共线,解就应该是唯一的。
A2,您的结果矩阵将采用以下形式:
[ A B C ]
[ D E F ]
C 是你在 x 中的翻译;F 是你在 y 中的翻译。两者都是尺度不变的。
如果你取最左边的术语,这些对应于旋转和缩放
[A B]
[D E]
在以下公式中:
[I cos(t) -I sin(f)]
[J sin(t) J cos (F)]
其中 I 是 x 中的比例,J 是 y 中的比例。
要消除缩放,将 A 和 B 除以 sqrt(A*A+B*B) 并将 D 和 E 除以 sqrt(D*D+E*E)