2011-10-11 2 views
2

두 개의 일치하는 삼각형을 3D로 정렬하는 데 필요한 변형을 나타내는 행렬을 결정해야합니다. 나는 이전에 a different approach을 복용하는 것에 대해 물어 보았습니다. 그러나 나는 많은 문제를 일으켜 여러 아이디어를 시도하고 있습니다.두 개의 삼각형을 정렬하기 위해 행렬을 결정해야합니다.

난 그냥 A이 원점이고 다른 (ABC)와 같은 위치와 방향에 삼각형 (DEF)를 이동하는 데 필요한 번역 및 회전을 나타내는 매트릭스를 만드는 방법에 저를 안내 할 사람이 있습니까?

+0

"알려진 - 투 - 수 - 합동"같은 내부 천사를 의미? –

+0

@Roee, 예. 두 개의 삼각형은 일부 번역 및 회전을 제외하고는 동일하다고 가정 할 수 있습니다. 스케일링에 대해 걱정할 필요가 없다고 들었습니다. 내부 각도와 측면 길이는 두 삼각형 사이에서 동일해야합니다. – chaosTechnician

답변

0

첫 번째. "기본"삼각형을 생각해보십시오. 각도에 따라 X = (0,0,0), Y = (1,0,0) 및 Z 일 때 XYZ.
2nd. 각각의 삼각형에 대해 이것을 "기본"으로 옮기는 방법을 찾으십시오.
DEF의 경우 기본 이동 동작을 사용하여 D에서 A로 이동합니다. E가 xz 평면에있을 때까지 z를 중심으로 회전하고, F가 x + 평면에서 xy 평면에 올 때까지 x를 중심으로 회전합니다.
그렇다면 각 삼각형을 동일한 기본 삼각형으로 이동시키는 행렬을 만드는 방법을 알고 있습니다.
now. 식별 행렬을 사용하면 행렬의 오른쪽에있는 (두 번째) 모든 작업에 대해 식별 행렬의 왼쪽에서 반대 작업을 수행하면 다음 행렬로 끝납니다. 기본 삼각형에서 삼각형으로 이동하십시오.

나는 ... 영어로 설명하는 것은 나에게 조금 어렵다, 그것은 강신 술을 희망하여

0

내 마음에 떠오르는 한 가지 아이디어는 삼각형의 circumcenters을 계산하여 시작하는 것입니다.이 아이디어는 가장 간단하고 효율적인 방법이 아닙니다. 고유 한 선을 통과하면 translation matrix을 작성하여 하나의 삼각형을 다른 선상에 끌 수 있습니다 (아마도 삼각형을 교차 시키게됩니다).

삼각형을 가지고 있기 때문에 삼각형이 포함 된 각 평면의 방정식, 즉 해당 평면 사이의 각도를 계산할 수 있으므로 두 삼각형이 같은 평면에서 끝나도록 적용해야하는 rotation matrix도 계산할 수 있습니다 . 마지막으로 동일한 평면에있는 삼각형을 일치시키기 위해 마지막 회전을 한 번 적용해야합니다.

관련 문제