1

ねえ、私は現在、3D配列から情報を抽出しようとしています。ここで、各エントリは、そこから何かを引き出すための座標を表します。問題は、配列が途方もなく大きい(そしてそれらのいくつかがある)ということです。つまり、実際にすべてを描画することはできません。

そのとき私が達成しようとしているのは、必要に応じて配列のシェルである外側の座標の表現を描画することです。この配列はいっぱいではないか、数ピクセルしか設定されていない大きな空のスペースがあるか、ピクセルデータの大きなクラスターがグループ化されている可能性があります。どんな形が期待できるのか(単純な立方体か複雑な凹面メッシュか)わからず、境界線を効果的に抽出するアルゴリズムを考え出すのに苦労しています。この配列は、ポイントのセットを3D空間に効果的に格納します。

6つの2Dメッシュ(3D配列の各側に1つ)を作成し、各位置で見つけることができる最も浅いポイントを取得して、別々に描画することを考えました。ただし、前述したように、この3D形状は凹型である可能性があり、このアプローチでは問題が発生します。上部に円がある円錐を想像してください(円錐の底よりも大きい円)。上部と側面のメッシュは形状から正しい深度情報を取得しますが、下部のメッシュは垂直線を介してベースを円に接続し、円錐形を効果的に緩めます。

次に、配列をスライスごとに分析し、スライスデータから2つのメッシュを作成することを考えました。これはどのタイプの形状でも機能するはずですが、各スライスの境界情報を正確に提供するアルゴリズムを見つけるのに苦労しています。繰り返しになりますが、スライスから高さマップを作成しようとすると、凹みがある場合に問題が発生します。また、ある種のエッジ追跡アルゴリズムを使用しましたが、配列は連続データを提供せず、各スライスに沿って連続エッジがないことはほぼ確実です。

医用画像などで使用されているボリュームレンダリングを調べてみましたが、私が抱えている問題と同様の問題を扱っているため、実際に使用できるものは見つかりませんでした。

この種の問題や貴重な情報を経験したことがある人がいたら、私を正しい方向に向けてください。

PSシェルの閉じた表現を取得したいので、以前の2Dメッシュアプ​​ローチです。ただし、シェルポイントを接続せずに単純にシェルポイントを取得するアプローチは、それでも非常に役立ちます。

ありがとう、Ze

4

3 に答える 3

1

まず、データ構造を確認します。ご覧のとおり、配列はポイント間の明らかな空間的関係を維持していません。八分木は、あなたが説明したようなデータのかなり良い表現です。ポイントセットの複雑さによっては、八分木だけを使用して地殻を見つけることができる場合があります-近くのポイント間にある程度の接続があると仮定します。

または、レイキャスティングやマーチングキューブなどのより厳密なアルゴリズムを使用することもできます。

于 2010-11-10T15:17:48.963 に答える
1

推測すると、本当に役立つようになるのはもう少し遅れていますが、参考までに、これはボリュームモデリングに最適なシナリオだと思います(ご想像のとおり)。ポイントクラウドのバウンディングボックスを知っている限り、これらの座標をボクセルスペースにマッピングし、各データポイントの各ボクセルの密度(値)を増やすことができます。ボリュームを完全に定義したら、マーチングキューブアルゴリズムを使用して、特定のしきい値(iso値)の3Dサーフェスメッシュを生成できます。結果として得られるサーフェスは連続している必要はありませんが、値>isovalueのすべてのボクセルを内部でラップします。2Dに相当するものはヒートマップです...isoしきい値(高いほどタイトであることを意味します)とボクセル解像度を調整することで、表面品質を改善できます。

Javaを使用しているので、私のtoxiclibs volumeutilsライブラリを見てみてください。これには、一般的なアプローチを示すいくつかの例Processing用)も付属しています...

于 2011-01-24T22:27:55.790 に答える
0

上部に円がある円錐を想像してください(円錐の底よりも大きい円)。上部と側面のメッシュは形状から正しい深度情報を取得しますが、下部のメッシュは垂直線を介してベースを円に接続し、円錐形を効果的に緩めます。

これほど単純な例でさえ、アルゴリズムは言うまでもなく、手動で再構築することは不可能です。データが円錐形の穴のある円柱を表す可能性は、頂点が上部にディスクが取り付けられた円錐を表すのと同じくらい可能性があります。

どんな形が期待できるのかわかりません(単純な立方体かもしれません...

繰り返しになりますが、データがどのように生成されたかについての詳細情報がなければ、立方体の形で配置された8つの頂点は、2つの交差した正方形を表すこともできます。たとえば、ある種の回転3Dスキャナーによってデータが生成されていることがわかっている場合は、それが少なくとも出発点になります。

于 2010-11-10T15:44:25.113 に答える