저는 3D 공간 (월드 공간)에 2 개의 벡터를 가지고 있습니다. 두 벡터를 같은 평면에 배치하는 상대 좌표계를 찾아야합니다.2 개의 벡터를 포함하는 좌표계 생성하기
내 생각은 두 벡터의 교차 곱을 먼저 취하여 두 벡터와 관련된 Z 축을 얻는 것이 었습니다. 그런 다음 새 X 축을 만들려면 새 Z 축과 원래 벡터 중 하나의 교차 곱을 취합니다. 그런 다음 새 Y 축을 가져 오려면 새 Z와 새 X의 교차 곱을 취합니다. 그러나 이것이 내가 원하는 것을 성취했다고는 생각하지 않습니다. x와 y 축이 두 벡터 사이에서 공유되지 않는다고 생각합니다. 나는 다른에 하나의 벡터를 회전 할 결국 : 내가 이렇게 노력하고 있어요 이유에 약간의 정보를 제공하기 위해
normA = TriangleA.forward.normalize();
normB = TriangleB.forward.normalize();
zaxis = normA.cross(normB);
xaxis = zaxis.cross(normA);
yaxis = xaxis.cross(zaxis);
zaxis = zaxis.normalize();
xaxis = xaxis.normalize();
yaxis = yaxis.normalize();
originx = str(TriangleB.verts[0][0]) + "mm";
originy = str(TriangleB.verts[0][1]) + "mm";
originz = str(TriangleB.verts[0][2]) + "mm";
UPDATE : 여기
내가 사용하고있는 코드입니다 한 번의 회전으로 이것을하기 위해 두 벡터의 외적을 취하여 회전축을 얻습니다. 그러나 회전 축과 다른 다른 벡터로부터 상대 좌표계를 생성해야합니다.
모두를 포함해야합니다 ...? –