グラフィックプログラマーは、イメージを変更しない頂点のレンダリングをどのように処理しますか?


10

したがって、タイトルは少し厄介です。背景を説明してから、質問をします。

背景:私はWeb GISアプリケーション開発者として働いていますが、暇なときに地図のレンダリングを試したり、データ交換フォーマットを改善したりしています。私は2D空間でのみ作業します。

私が遭遇した興味深い問題の1つは、小さなスケールでポリゴンをレンダリングしている(ズームアウトした)ときに、頂点の多くが冗長になることです。極端なケースは、1つのピクセルのみを占める500,000の頂点を持つポリゴンがある場合です。このデータをブラウザーに送信する場合は、これらの頂点の〜499,999を省略しても意味があります。これを実現する1つの方法は、サーバーで画像をレンダリングし、それをPNGとして送信することです。ただし、インタラクティブにできるように、データをブラウザに送信してSVG(またはキャンバス、またはwebgl)でレンダリングできるようにする場合もあります。

問題:最新の地理データセットを使用すると、SVGのレンダリング機能を非常に簡単にオーバーロードできることがわかります。これらの制限に対処するために、特定の縮尺とマップ範囲(および必要に応じて、既知のマップピクセルの幅と高さ)のデータセットを視覚的にロスレスで削減する方法を理解しようとしています

Douglas-Peuckerアルゴリズムを使用しただけでデータサイズが大幅に削減され、ポリゴンを1ピクセル以内に収めることができたと思います。残念ながら、Douglas-Peuckerはトポロジを保持しないため、ポリゴン間の境界線のレンダリング方法が変更されました。他のアルゴリズムを簡単に試して目的に適応させることはできませんでしたが、CS /アルゴリズムの背景があまりなく、見た場合に認識できない可能性があります。


1
「トポロジー的に一貫性のあるダグラスピーカー」のGoogleといくつかの記事の要約へのリンクがあります。残念ながら、私が見た記事全体を支払う必要があります。
Doc Brown、

@DocBrown ありがとうございます! Questiaには無料トライアルがあるようです。
canisrufus

回答:


3

あなたが探しているのは2d level of detail algorithmsです。

これらの強調表示された用語を検索すると、Googleでこれについて多くの文書化されています。

Stackoverflowに関するこの質問には、2D詳細レベルレンダリングで探している情報が含まれています。


非常に適切な語彙の+1。実際は詳細レベルのアプローチを使用しているようですが、自分のニーズに合ったポリゴンの単純化アルゴリズムが必要です。3Dのもののためのきちんとした概要を見つけました。 コーディングする時間はありませんでしたが、適切な簡略化戦略を実際に考え出したと思います。
canisrufus
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.