2011-08-30 1 views
2

WPF에서 3D 지구본 컨트롤을 작성하고 있습니다.WPF 3D 닫기 항목이 "흔들 거리는 것"으로 보입니다.

대부분 잘 작동하지만 너무 가깝게 (예 : 10 미터 이하) 산을 보면 '흔들 거리며'가됩니다. 즉 카메라의 모든 작은 움직임이 산 모델의 정점을 바꿉니다. 그래서 젤로처럼 보입니다.)

저는 가까운 비행기에서 0.001에서 5까지의 범위를 지정하여 근거리 및 원거리 비행기를 사용해 보았습니다. 멀리 비행기에서 100에서 1000000, 심지어는 양의 무한대까지 사용했는데 도움이되지 않았습니다. .

크기를 1/10에서 10 배로 조정하고 ECEF에서 Lat/Long/Alt를 센티미터, 미터 및 10 미터 단위로 반올림 한 결과도 시도했습니다.

10 미터 단위로 반올림하면 도움이되고 흔들리는 것은이 경우 매우 드뭅니다.하지만 사용할 수없는 정도로 모델이 변형됩니다.

나는 이것이 정밀도 문제라고 생각합니다. 어떻게하면 고정밀도를 고칠 수 있는지 또는 어떤 문제를 해결할 수있는 방법이 있습니까?

Itai.

업데이트 : 나는 인공물을 보여주는 video을 추가했습니다.

내가 세계 윙에서 건물 모델과 같은 문제가 발생했습니다 발견이 해결 물어 here 대답했다.

일반적으로 문제는 내가 의심했던 것처럼 정밀 문제였습니다. 이를 해결하는 방법은 실제 카메라를 원점 (0,0,0)에 유지하면서 카메라를 회전시키고 반대 방향으로 모든 타일을 이동하는 것입니다.

각 타일을 생성 할 때 각 타일의 꼭지점에서 타일의 XYZ 중심을 뺍니다. 따라서 최종 타일은 (0,0,0) 주위에 작성됩니다.

타일 GeometryModel3D에서 변환 변환을 설정하여 올바른 위치에 놓습니다.

+0

카메라의 움직임 증가를 줌 레벨로 조정하려 했습니까? 코드가 조금이라도 도움이 될 것입니다. 물론 많은 코드가 여기에 관련되어 있으며 관련 코드 조각을 찾는 데 도움이되고 싶습니다. – UrbanEsc

+0

카메라의 움직임 증가를 줌 레벨로 조정하는 것이 의미하는 바를 이해하지 못합니다 ... 카메라는 키보드, 마우스 또는 관리자 코드로 제어됩니다. 일반적으로 위도/경도/Alt 형식으로 제공됩니다 (피치 유무에 관계없이).그런 다음 지형 모델을 작성하는 데 사용 된 것과 동일한 방법을 사용하여 위치가 XYZ로 변환됩니다. –

+0

"확대 된 카메라를 느리게 움직이게"하려고하는 것이 좋습니다. 또는 어쩌면 나는 무엇이 흔들리는 것을 의미하는지 이해하지 못했다. – UrbanEsc

답변

1

월드 윙에서 건물 모델과 동일한 문제가 있음을 확인하고 대답했습니다 (here).

일반적으로 문제는 내가 의심했던 것처럼 정밀 문제였습니다. 이를 해결하는 방법은 실제 카메라를 원점 (0,0,0)에 유지하면서 카메라를 회전시키고 반대 방향으로 모든 타일을 이동하는 것입니다.

각 타일을 생성 할 때 각 타일의 꼭지점에서 타일의 XYZ 중심을 뺍니다. 따라서 최종 타일은 (0,0,0) 주위에 작성됩니다.

타일 GeometryModel3D에서 변환 변환을 설정하여 올바른 위치에 놓습니다.