2011-10-11 90 views
2

我需要确定一个矩阵,该矩阵表示对齐3D中两个已知相同三角形所需的变换。我以前曾试过询问关于服用a different approach,但我一直在触及很多障碍,所以我现在正在考虑尝试不同的想法。需要确定一个矩阵来对齐两个三角形

有没有人能告诉我如何我可以只创建一个矩阵来表示一个三角形(DEF)移动到相同的位置和方向,另一个(ABC)其中A是在原点所需要的平移和旋转?

+0

由“知到是全等的”你的意思是有相同的内部天使吗? –

+0

@罗伊,是的。除了一些平移和旋转之外,这两个三角形可以被假定为相同的。我被告知没有必要担心缩放。两个三角形的内角和边长应该相等。 – chaosTechnician

回答

0

1st。想到一个“基本”三角形。当X =(0,0,0),Y =(1,0,0)和Z时,XYZ取决于角度。
2nd。为每个三角形找到方法将其移动到这个“基本”。
对于DEF,使用基本移动动作将D移动到A.围绕z旋转直到E在xz计划中,围绕x旋转直到F在xy计划中在x +侧。
如果这是明确的,那么你知道如何创建一个矩阵来移动每个三角形到相同的基本三角形。
现在..如果您采用了一个识别矩阵,并且对于您在矩阵右侧执行的每一个动作(第2步),您将在识别矩阵左侧执行相反的操作,最后将以矩阵从基本三角形移动到三角形。

我希望它做的降神,中英文解释是有点难度,我...

0

我想到的一个想法(这可能既不是最简单也不是最有效的方法)首先计算您的三角形的circumcenters。穿过它们的独特线条可以用来建立translation matrix,它可以让你拖动一个三角形到另一个(可能使它们相交)。

由于您有三角形,您还可以计算包含它们的各个平面的方程,这些平面之间的角度,因此还需要应用rotation matrix,以便两个三角形都在同一平面中结束。最后,您需要应用一个最终旋转来匹配您现在位于同一平面上的三角形。

相关问题