그래픽 프로그래머는 이미지를 변경하지 않는 렌더링 정점을 어떻게 처리합니까?


10

제목이 약간 어색합니다. 몇 가지 배경 지식을주고 질문을합니다.

배경 : 웹 GIS 응용 프로그램 개발자 로 일하고 있지만 여가 시간에는지도 렌더링을 사용하고 데이터 교환 형식을 개선했습니다. 나는 2D 공간에서만 일합니다.

내가 겪은 흥미로운 문제 중 하나는 다각형을 소규모로 렌더링 할 때 (확대 / 축소) 많은 정점이 중복된다는 것입니다. 극단적 인 경우에는 단일 픽셀 만 차지하는 500,000 개의 정점이있는 다각형이 있습니다. 이 데이터를 브라우저로 전송하는 경우 해당 정점을 ~ 499,999 개 생략하는 것이 좋습니다. 우리가 달성하는 한 가지 방법은 서버에 이미지를 렌더링하여 PNG로 보내는 것입니다. 그러나 SVG (또는 캔버스 또는 webgl)로 렌더링하여 대화식으로 데이터를 렌더링 할 수있는 브라우저로 데이터를 보내려는 경우가 있습니다.

문제 : 현대의 지리 데이터 세트를 사용하면 SVG의 렌더링 기능을 오버로드하는 것이 매우 쉽다는 것이 밝혀졌습니다. 이러한 제한을 극복하기 위해 주어진 스케일과 맵 범위 (필요한 경우 알려진 맵 픽셀 너비 및 높이)에 대한 데이터 세트를 시각적으로 무손실로 줄이는 방법을 알아 내려고 노력 중 입니다.

Douglas-Peucker 알고리즘을 사용하여 데이터 크기를 크게 줄였으며 다각형을 한 픽셀 내에서 그대로 유지할 수 있다고 생각합니다. 불행하게도 Douglas-Peucker는 토폴로지를 유지하지 않으므로 다각형 간의 경계가 렌더링되는 방식이 변경되었습니다. 시도하고 목적에 맞게 조정할 다른 알고리즘을 쉽게 찾을 수 없었지만 CS / 알고리즘 배경이 많지 않아 알고리즘을 인식하지 못할 수 있습니다.


1
"Topologically Consistent Douglas-Peucker"에 대한 Google의 기사 일부 기사에 대한 링크를 찾을 수 있습니다. 불행히도, 당신은 내가 본 전체 기사에 대한 비용을 지불해야합니다.
Doc Brown

@DocBrown 감사합니다! Questia 는 무료 평가판을 사용하는 것 같습니다.
canisrufus

답변:


3

당신이 찾고있는 것은입니다 2d level of detail algorithms.

강조 표시된 용어를 검색하면 Google에 이에 대한 많은 문서가 있습니다.

stackoverflow에 대한이 질문에는 2D Level of Detail 렌더링에서 찾고있는 정보가 있습니다.


매우 적절한 어휘에 +1. 실제로 세부 수준의 접근 방식을 사용하고 있지만 내 요구에 맞는 다각형 단순화 알고리즘이 필요한 것 같습니다. 3D에 대한 깔끔한 개요를 찾았습니다. 코딩을 할 시간이 없었지만 실제로는 적절한 단순화 전략을 개발했다고 생각합니다.
canisrufus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.