4

これまでポイントとして視覚化したさまざまな属性を持つ 3D ポイント クラウド データ セットがあり、セットからの距離に基づいて LOD を作成したいと考えています。より少ないポイントとより大きなポイントを使用して、遠くから一般化されたビューを表示できるようにしたいと考えています。ズームインすると、適切な間隔で配置されたより多くのポイントが自動的に表示されるようにしたいと考えています。

以下のこのビデオのようなもので、賢明な行動: http://vimeo.com/61148577

解決策の 1 つは適応 octree を使用することだと思いましたが、それが良い解決策であるかどうかはわかりません。シームレスな遷移を伴う階層的クラスタリングを検討してきましたが、どのソリューションを使用すれば目標に適合するかわかりません。

どこから始めるべきかについてのアイデアやヒントはありますか? それとも特定の方法?

ありがとう

4

1 に答える 1

1

リンクしたビデオは 2D メタボールを使用しています。メタボールが集まると、大きな円ではなく塊になります。大丈夫ですか?

続行する前に、メタボールの概要を読む必要があります。2Dメタボールをグーグルで検索してください。

メタボールのしきい値とフォールオフ関数について読んでいただければ幸いです。フォールオフ関数には半径(関数がゼロになる距離) が必要です。

しきい値と半径を調整することで、LOD 効果を実現できます。基本的に、ズームアウトするときは半径を大きくして、ポイントがより広い領域に影響を与え、まとまり始めるようにします。また、ポイントの密度が不十分な領域が消え始めるようにしきい値を調整します。

この既存の jsfiddle 2D メタボール デモを見つけて、LOD を紹介するように変更しました。

  • LOD 0: 円としての個々のポイント。( http://jsfiddle.net/TscNZ/370/ )
  • LOD 1: 孤立したポイントが縮小し始めますが、ポイントのクラスターがブロブを形成し始めます。( http://jsfiddle.net/TscNZ/374/ )
  • LOD 2: 孤立したポイントが消えました。ブロブは少なくなり、大きくなります。(上記の URL を jsfiddle リビジョン 377 に変更します)
  • LOD 3: ブロブはさらに少なくなり、さらに大きくなります。(上記の URL を jsfiddle リビジョン 380 に変更します)

さまざまな jsfiddle リビジョンでわかるように、LOD を変更するには、いくつかの変数を調整するだけで済みます。

threshold = 1,
max_alpha = 1,
point_radius = 10,

多くのメタボールの記事が触れていない重要なポイント: しきい値を超える値のみがメタボールの「内部」と見なされる規則を使用する必要があります。次に、ズームアウトすると、フォールオフ関数のピーク値よりも高いしきい値を設定する必要があります。これにより、孤立したポイントが完全に消え、塊だけが表示されます。

メタボールのレンダリングは、それ自体が全体のトピックです。この jsfiddle デモは、非常に非効率的なブルート フォース アプローチを採用していますが、より効率的な「マーチング スクエア」もあります。

于 2013-04-25T13:31:19.863 に答える