2017-12-05 44 views
1

지구의 해양을 돌아 다니면서 오랜 시간 동안 상호 작용하는 수천 개의 배들을 포함 할 새로운 시뮬레이션을 스케치하고 있습니다. 따라서 다양한 환경 조건에 대한 감지뿐만 아니라 센서 및 통신 범위를위한 "교차점 탐지"가 많이 있습니다. 우리는 WGS84가 아닌 구형의 지구를 가정합니다. 이것은 실시간 게임이나 그와 같은 것이 아니라 측정 기준을 울리는 이벤트 단계 시뮬레이션입니다.현대 지구 규모 시뮬레이션에서 ECEF 대 극 좌표계의 성능 고려 사항

질문은 데카르트 좌표 (지구 중심, 지구 고정) 또는 측지/극 좌표를 사용하는 것입니다. 극좌표를 사용하면 배의 궤적은 내부적으로 시간과 함께 큰 위도/경도의 중간 지점으로 표시되고 그 사이에 큰 원 경로가 표시됩니다. 데카르트 표현을 사용하면 웨이 포인트가 그 사이의 큰 원의 폴리 라인 렌더링과 연결됩니다.

데카르트 데이터 모델을 고수함으로써 성능 튜닝 된 다양한 지오메트리 라이브러리를 사용할 수 있고 심지어 SIMD/GPU 성능 이점까지 제공 할 수 있다고 생각합니다. 극좌표는 처음부터 모든 것을 쓰는 것이 더 자연스러운 방법 일 것입니다. 그러나 나는 Cartesian을 유지함으로써보다 빠르고 더 나은 라이브러리에 더 많이 접근 할 수있을 것으로 생각합니다. 이것은 잘못된 생각입니까? 또 다른 고려 사항은 극좌표 계산이 극 근처에있을 때 정말 엉망이되는 경향이 있다는 것입니다.

경험이있는 사람이 몇 가지 시나리오를 프로토 타이핑하는 데 많은 시간을 절약 할 수 있는지 궁금합니다.

+0

극 (특히 남극 부근)의 배송료는 얼마입니까? 그러면 극 근처의 부정확성이 얼마나 영향을 미칩니 까? – EOF

+0

이것은 현실 세계 운송보다 조금 더 이론적 인 것이므로 극 근처의 부동 소수점 malarkey는 실제로 큰 불쾌감으로 변할 수 있습니다. –

답변

1

종종 각도 대신 단위 벡터로 방향을 나타내는 데 적합합니다. 다른 각도로 벡터를 회전 시키면 2x2 또는 3x3 매트 럼 (SIMD에서는 효과적이지만 FP에서는 두 개의 숫자를 라디안 단위로 더하는 것보다 비싸지 만)은 거의 죄/cos를 필요로하지 않습니다.

가끔씩 atan2에 각도를 얻고 싶지만 보통 좁은 루프 안에 있지 않을 수 있습니다.

또 다른 XYZ + 범위가 주어진 XYZ 좌표의 경우 교차 감지가 매우 효율적 (SIMD 사용) 일 수 있습니다. 주어진 점의 범위 내에있는 위도/경도 쌍을 얼마나 효율적으로 확인할 수 있었는지, 내가 보았던 문제가 아닌지 잘 모르겠습니다.

IDK 기존 라이브러리에서 어떤 종류의 것을 찾을 수 있습니까? 아니면 무엇을하고 싶습니까?