3D 개념과 OpenGL에 관한 책을 읽고 있습니다. 이 책은 항상 세계 공간 , 눈 공간 등에 대해 이야기 합니다.
컴퓨터 모니터 화면 의 세계 는 정확히 무엇입니까 ?
월드 공간은 무엇입니까?
눈 공간은 무엇입니까? 투영과 동의어입니까?
3D 개념과 OpenGL에 관한 책을 읽고 있습니다. 이 책은 항상 세계 공간 , 눈 공간 등에 대해 이야기 합니다.
컴퓨터 모니터 화면 의 세계 는 정확히 무엇입니까 ?
월드 공간은 무엇입니까?
눈 공간은 무엇입니까? 투영과 동의어입니까?
답변:
세상이나 눈 공간이 무엇인지 이해하기 전에 공간이 무엇입니까?
추상적 의미에서, 기하학적 공간 (예 : 유클리드 공간)은 물체가 존재하는 경향이있는 무한한 범위입니다. 공간은이 공간에 존재하는 객체가 만족해야하는 기본 속성을 정의합니다. 예를 들어 유클리드에서 공간 거리는 로 정의됩니다 Sqrt( vector dot product with itself)
.
대부분의 사람들은 공간과 좌표 시스템의 정의를 혼합하는 경향이 있습니다. 유클리드 공간과 같은 공간은 속성을 정의하지만 좌표계를 정의하지는 않습니다. "눈 공간"을 "눈 좌표"라고하는 것이 좋습니다.
컴퓨터 그래픽에서 우리는 거의 독점적으로 유클리드 공간을 다룹니다. 유클리드 공간에서 (X, Y, Z)의 정점을 정의 할 때 우리에게 의미가있는 것은 아닙니다.
보다 실질적인 정의는 일부 좌표계를 기준으로 정의하는 것입니다. 예를 들어 정점 (X, Y, Z)은 눈 좌표를 기준으로합니다. 따라서 눈 좌표를 기준으로 Vertex = (0,2,3)이면 이 정점이 다음을 의미합니다.
- 눈 X 위치에서 X 방향으로 0입니다.
- 눈 Y 위치에서 Y 방향으로 2.
- 눈 Z 위치에서 Z 방향으로 3.
- 그리고 눈으로부터의 정점 거리는 sqrt (0 ^ 2 + 2 ^ 2 + 3 ^ 2) = sqrt (13) 단위입니다.
그러나 눈 좌표 란 무엇이며 좌표계를 어떻게 정의합니까?
방향과 유사한 3 개의 직교 기준 (읽기 : 단위 길이 및 수직) 벡터와 위치 (번역) 를 제공하여 좌표계를 정의합니다 .
따라서 openGL의 카메라가 정의 된 경우 (세계 좌표를 기준으로 함)
- Position (0,3,10)
- Up (0,1,0)
- Forward (0,0,-1)
- Right (1,0,0)
이것은 뷰어가 월드 (0,0,0)에서 (0,3,10)으로 설정하고 오른쪽이 월드 X 축에 정렬되고 그의 앞으로는 월드 Z와 반대이며 위쪽이 정렬됨을 의미합니다. 세계 Y.
그러나 당신은 눈 좌표에 대해 너무 많이 이야기했습니다. 세계 좌표는 무엇입니까?
월드 좌표는 고정 된 부모 좌표 시스템입니다. 눈 좌표 자체는 무언가에 상대적이어야합니다. 이것은 모든 것이 기준으로 정의 된 글로벌 좌표계입니다.
월드 좌표에는 X 방향으로 고정 된 i = (1,0,0), Y 방향으로 j = (0,1,0) , Z 방향으로 k = (0,0,1)이 있습니다. 이들은 직교 좌표계 를 정의하는 벡터입니다 .
그러나 그것은 말이되지 않습니다! 절대 좌표가 월드 좌표를 기준으로 정의한 좌표는 무엇입니까?
나는 그것이 우주 자체의 중심이되는 것은 그 자체에 상대적이라고 말하고 싶습니다 (그러나 그것은 너무 단순합니다).
그러나 좀 더 실용적인 의미에서 컴퓨터 그래픽에서는 세계 공간을 우주의 중심 (게임 세계)으로 정의하는 것이 편리하므로 사물이 서로 어떻게 관련 될 수 있는지 상상할 수 있습니다.