2012-05-17 1 views
-3

가능한 중복이 :
What exactly is the UP vector in OpenGL's LookAt function?OpenGL의 LookAt에서 우리 얼굴이 거의 하늘을 향하고 있다면 우리는 여전히 우리 앞에서 일들을 볼 수 있습니까?

이것은 관련이있다 : What exactly is the UP vector in OpenGL's LookAt function?

전화 인 경우 :

 gluLookAt(512, 384, 2000, 
       512, 384, 0, 
       0.0f, 1.0f, 0.0f); 

내가 찾고 의자에 앉아 있어요 경우 똑바로, iPad 엎드려서 들고 내 눈앞에서 내 머리 꼭대기가 하늘을 가리키고있다. 따라서 UP 벡터에 대한 (0, 1, 0)은 3 행과 같습니다. 내가 이것을 (0, 0.00001, 1)으로 바꾸면 어떨까요? 그것은 내가 하늘에 직면하고있는 나의 얼굴과 눈과 더불어, 거의 거짓말하고있는 것을 의미한다. 그러면 (0, 1, 0)을 사용할 때와 정확히 같은 결과가 어떻게됩니까?

+0

이것은 UP 벡터의 상당히 특별한 경우입니다 ... 원래 질문에서이 질문을해야한다고 말한 5 명의 사람들을 위해 5 명의 사람들이 말하고, 많은 토론을하지 말고 - 시작합니다. 대신 새로운 질문 –

+2

특별한 경우는 아닙니다. * 같은 경우 *입니다. 정확히 똑같은 문제입니다. 약간 다시 말하면서 모두 똑같은 지점으로 돌아옵니다. 위로 벡터는 무엇을 의미합니까? 위의 세 가지 질문에 대해 6 가지 방법으로 설명되었습니다. 위로 코드가 무엇인지 설명하는 코드 구현에 대한 자세한 목록에서부터 설명합니다. –

+0

누군가가 1/2 또는 3/4을 이해하고 1/0을 이해하지 못하면 소리를 지르며 말할 것입니다 : 아니 그것도 마찬가지예요 !! –

답변

1

예상되는 결과는 무엇입니까?

카메라 위치, 카메라를 볼 위치 및 위쪽 방향의 세 가지 값 집합을 전달합니다. 당신의 비유에서 하늘을 올려다 보면 이 아니고은 iPad를보고 있습니다. 따라서 조회 위치 은 위로 방향과 함께으로 변경되어야합니다. 그리고 당신이 당신의 외모 위치를 바꾸지 않았다면 당신이 위 방향을 바꿀 때 당신은 어떻게 될 것으로 예상합니까?

위쪽 방향 은 사용자가보고있는 위치와 관련된 위치에 영향을줍니다. 보고있는 내용을 변경하려면 실제로 모양을 지점으로 변경해야합니다. 그것이 그곳에있는 이유입니다.

+0

우리는 (1, 0.001, 0)이 90도 기울어지며 (0, 0.0001, 1)이'(0, 1, 0)'과 정확히 동일하므로 눈이 하늘을 마주 보지만 이미지를보기 위해 굴러 갈 수 있다면'(0, 1, 0)'과 같기 때문에'(0, 0, 1)'에 대해서는 아무 것도 볼 수 없습니다. 롤링은 90도 미만으로 제한됩니다. –

-2

더 많은 시행 착오를 거친 후 OpenGL을 하루 만 배우기 시작 했으므로 Up 벡터는 비행기에 타겟 벡터에 대해 "정상"(또는 수직) 인 구성 요소가 있어야합니다.

즉,이 예에서는 (512, 384, 2000)에서 (512, 384, 0)까지이므로 벡터는 Z 방향에만 있습니다. 위로 벡터에는 XY 평면에 일부 구성 요소가 있어야합니다 (XY 평면은 Z 방향 만있는 벡터에 수직 인 평면입니다).

x 및 y 구성 요소가없는 경우, 즉 둘 다 0이면 내 iPad 2에서 이미지가 전혀 표시되지 않습니다. 따라서 위쪽 벡터는이 경우 XY 평면에서의 회전을 처리하며 Z 방향에 대한 대소 문자는 전혀 처리하지 않습니다.

+0

그리고 이것은 사람들이 고정 기능 파이프 라인으로 OpenGL을 "배울 때"내가 싫어하는 주요한 예입니다. 문제의 이해는 상향 벡터가 Z 축을 중심으로 회전한다고 생각하기 때문에보기 축을 변경하면 완전히 단서가 없음을 의미합니다. 이 문제는 XY 평면이나 Z 평면과는 아무런 관련이 없습니다. 위쪽 벡터는 XY 회전을 처리하지 않습니다. *보기 축 * 주위의 회전을 처리합니다. * 당신의 경우 *는 단지 Z 축일뿐입니다. –

+0

위의 벡터는 뷰 축 (Z 축) 주위의 "회전"과 동일한 XY 평면의 구성 요소를 가져야한다는 개념이 있습니까? –

관련 문제