2017-11-03 1 views
4

필자는 이상한 각도로 회전 한 3 차원 평면 (점 개수로 구성)을 가지고 있습니다. 평평하게 만들고 싶습니다. 즉 xy 평면에 놓여 있습니다. 비행기 방정식이 있지만 계산 된 각도가 올바르지 않거나 잘못된 회전 행렬을 사용하고있을 수 있습니다. 잘못된 회전 행렬을 사용하면 어떤 축을 회전해야하는지 잘 모르겠다는 의미입니다. I는 다음 식을 사용하여 계산하려고3D 평면을 회전하는 방법은 무엇입니까?

this plane is rotated about more then one axis

: 내 평면 사진 첨부

  1. 쎄타 = -acosd은 ((도트 (N1)), N2/(표준 (N1) * norm (n2)));
  2. 구면 각 계산 : theta 및 phi;

두 가지 방법이 동일한 각도를 제공하므로 평면을 먼저 z 축에 대해 그리고 나서 y 축에 대해 회전 시켰습니다. 결과로 나온 평면은 거의 평평하지만 여전히 약간의 난관이 있습니다.

회전 행렬과로드 리게 스의 회전 행렬을 모두 시도했습니다. 누군가가이 평면을 평면으로 회전시키는 방법을 제안 할 수 있다면 정말 도움이 될 것입니다.

+0

평평한 평면을 원하면 평면 방정식을 즉시 알 수 있습니다 :'z = h', 여기서'h'는 임의의 높이 (주위를 돌리는 지점의 높이)입니다. 수식에'n1'과'n2'는 무엇입니까? 두 가지 방법은 회전축이 다른 것과 같은 결과를 제공해서는 안됩니다. –

+0

왜 회전해야합니까? 평면의 법선 벡터를 가졌으므로 평면에 포함 된 두 개의 수직 벡터를 찾는 것은 간단합니다. 그것들을 새로운 좌표 기초로 사용하십시오. –

+0

@NicoSchertler, 응답 해 주셔서 감사합니다. n1 = [0 0 1]이고 n2는 평면에 수직입니다. 1.의 공식과 구면 각 theta는 동일한 세타 값을 부여합니다. 너는 고도에 관하여 자전하는 방법을 상세히 설명 할 수 있 었는가 ?? –

답변

0

평면이 xy 평면과 평행하지 않으면 법선 벡터가 z 축과 평행하지 않습니다. 따라서 법선 벡터와 z 축 (단위) 벡터의 외적은 0이 아닙니다. 이 벡터는 평면에 있고 xy 평면에 평행합니다. 그것을 회전축으로 취하십시오. 평면을 xy 평면에 평행하게 만드는 회전 각은 법선 벡터와 z 축 사이의 각도와 같습니다.

+0

답변 해 주셔서 감사합니다. z 축과 평면의 법선 사이의 각도를 계산하고 x 축에 대해 회전했지만 결과가 정확하지 않습니다. 법선 벡터와 z 축 (단위) 벡터의 외적을 중심으로 회전하면 무엇을 의미합니까 ?? 이 축에 대해 어떻게 회전시킬 수 있습니까? –

+0

예제에서 평면 법선은'n = (0.898 -0.443 1)^T'입니다.'(0 0 1)^T '를 가진 외적은'(0.443 0.898 0)'이다. 이것은 회전축이며 Rodrigues의 회전 행렬을 사용하여 계산할 수 있습니다. – coproc

관련 문제