2012-07-20 1 views
1

Sketchup과 비슷한 UI 응용 프로그램을 만들려고합니다. 첫 번째 단계로서 나는 모든 방향으로 펼쳐지는 지표면을 보여줄 필요가있다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?3D CAD 응용 프로그램에서 무한 크기의 지표면을 작성하는 방법은 무엇입니까?

옵션 :

  1. 이 원점에서 모든 방향으로 뻗어 충분히 큰 정다각형을 만듭니다. 여기에는 사용자가 가장자리에 부딪쳐 지구 표면에서 떨어질 가능성이 있습니다.
  2. 구면/구면 형태로 지구 표면을 모델링하십시오. 여기서는 정점 좌표를 오류를 반올림하는 매우 큰 값으로 제한하려고합니다. (지구의 반지름은 6371000000 밀리미터이다).
  3. 1과 같지만 사용자가 가까이 갈 때 지구 끝을 동적으로 확장합니다.

일반적인 연습은 무엇입니까?

답변

1

나는이 두 가지 모두를 수행하지 않고 대신에 가상 공간을 사용한다고 생각합니다.

그래서 당신은 단지 어떤 부분이 뷰포트에 표시되는지 확인한 다음 그 부분을 채우기에 충분한 크기의 평면을 만듭니다. 일부 합리적인 맥시멈으로, 우리가 알고있는 것처럼 시야 라인의 일각을 시뮬레이션합니다.

+0

내가 잘못하지 않는 한이 옵션은 옵션 1과 유사합니다. "시야의 끝"을 찾는데 좀 더 자세하게 설명해 주시겠습니까? –

+0

실제로 오브젝트를 만들지 않고도 3과 1이 더 많이 섞여 있습니다. 시야의 끝을 찾는 것은 정적 인지면이 아니라면 a) 일부 좌표계의 평면과 b) 뷰포트의 원뿔 (시야각과 보기의 방향), 높이에서 지상에서 볼 때 양쪽 모두의 제한된 교차점을 얻거나 가시성에 한계로 정의되어야하는 수평선을 갖게됩니다. –

+0

대지로 땅을 렌더링하면 자연스럽게 2 가지를 얻을 수 있습니다. 비행기 (거의 거의)와 시야의 한계. 그러나 범위를 벗어난 상황을 렌더링하지 않으면 시력의 한계를 시뮬레이션 할 수있을 때 복잡한 작업을 수행 할 필요가 없습니다. –

관련 문제