我不确定我是否理解你问题的第一部分,但如果你想要一个将一组点传递给另一组的转换,这里有一个简单的理解方法(虽然肯定不是最优雅的)。我将使用您提到的点集,A {1(87,159,28) 2(-97,216,15) 3(60,237,9)} 和 B {1´(96,6,35) 2´(-86,62 ,23) 3`(71,82,14)}。
我从 A 开始
(87,159,28) (-97,216,15) (60,237,9)
并翻译它以将点 1 带到原点:
(0,0,0) (-184,57,-13) (-27,78,-19)
然后我绕 z 轴旋转,将点 2 带到 x-z 平面:
(0,0,0) (-192.6,0,-13) (-48.9,66.5,-19)
然后绕 y 轴将点 2 带到 z 轴:
(0,0,0) (0,0,193.1) (-15.7,66.5,50.0)
最后再次绕 z 轴将点 3 带到 x-z 平面:
(0,0,0) (0,0,193.1) (-68.3,0,50.0)
这些步骤按顺序执行,将事物从空间 A 带到一个新空间,称为 C。将此转换称为 Tca。这些步骤是可逆的——称为逆变换 Tac。现在对 B 做同样的事情来得到 Tcb 和 Tbc。当这两组点都在 C 中时,它们将匹配。现在将集合 A 带到集合 B,只需应用 Tca,然后应用 Tbc。要从集合 B 转到集合 A,请先应用 Tcb,然后再应用 Tac。