2013-09-28 1 views
0

나는 아주 간단한 질문을하고있다. 그러나 이것은 C++에서 이것을하는 방법을 혼란스럽게했다.수평으로 평면을 회전

여기에서, 법선 벡터가 (a, b, c) 인 기울어 진 평면이 있습니다. 이제 저는이 평면을 90도와 180도만큼 수평으로 회전시키고 싶습니다. 즉, XY 평면에서 90도 및 180도만큼 평면 법선을 회전하려고합니다.

문제는 내가 어떤 사분면에 벡터가 떨어지는 지 모릅니다. 그것은 첫 번째 또는 세 번째 ... 또는 다른 것일 수 있습니다.

내 질문은, 어떤 일반적인 수식은 90도 및 180도 회전 벡터를 얻을 수 있습니다. 예를 들어 업데이트 된 벡터가 [a1, b1, c] (90) 및 [a2, b2, c] (180) 인 경우 a1, b1 및 a2, b2는 무엇입니까?

답변

3
a1 = -b 
b1 = a 

a2 = -a 
b2 = -b 
1

좀 더 일반적인 : 회전 [X, Y, Z]는 Z 축 주위의 각도 세타

[x,y,z]->[cos(theta)*x-sin(theta)*y , sin(theta)*x+cos(theta)*y , z] 
된다
관련 문제