8

関数グラフではない曲面の 3D データ セットがあります。データは 3D のポイントの集まりにすぎずscatter3、Matlab で試すことしか考えられませんでした。Surfサーフェスは関数グラフではないため、機能しません。

scatter3パースペクティブやシェーディングが一切ないため、を使用するとあまり理想的ではない結果が得られました。

何かご意見は?それは Matlab である必要はありませんが、それはプロットのための私の頼りになるソースです。

私が持っているサーフェスのタイプを理解するために、次の 4 つの画像を検討してください。 ここに画像の説明を入力

1 つ目は 3D 等高線図で、2 つ目は等高線の平面 {z = 1.8} のスライスです。私の目標は、すべての赤い領域を拾うことです。各スライス {z = k} に対してこれを行う方法があります。これは 3 番目のプロットで、ここで見られるものがとても気に入っています。

これを z で反復すると、4 番目のプロットである表面が得られますが、これは少しノイズが多いです (ノイズを減らすアイデアはありますが...)。scatter3 を使用して輪郭なしで黒い表面だけをプロットすると、見分けがつかない黒いブロブが得られますが、すべてのスライスで滑らかな曲線が得られ、z を調整すると曲線が非常に滑らかに変化することに気付きました。

微調整を行うと 4 番目のプロットが大幅に改善されますが、4 番目のプロットにノイズがまったくない場合scatter3でも、3D 輪郭の上ではなく、単独でプロットすると、理解できない黒いブロブが使用されます。3D 等高線図の上にプロットされていない全表面の素敵な画像を取得したいと思います

scatter3実際、表面がどれほど悪いかを比較して示すために、球上に正確な点があり、それを使用scatter3したとしても、結果は黒い塊になり、球のようには見えません.

POV-Ray はこれを処理できますか? 使ったことがない...

4

3 に答える 3

4

ポイントの三角形分割がある場合は、trisurf関数の使用を検討できます。以前、境界のない閉じたサーフェス (多面体や球体など) を生成するためにそれを使用しました。欠点は、ポイントの三角形分割を生成する必要があることです。これはあなたのニーズにとって理想的ではないかもしれませんが、間違いなくオプションです。

EDIT:delaunay @High Performance Markが示唆するように、Matlabで三角測量を生成するために使用することができます

于 2012-08-21T09:07:54.643 に答える
1

この質問をフォローアップしたかっただけです。Matlab でこれを行う簡単な方法は次のとおりです。

(x, y, z) からデータ セットまでの最小距離として定義された関数 d(x, y, z) を考えてみましょう。プロットしようとしているデータセットを含むグリッドで d(x, y, z) が定義されていることを確認してください。

次にisosurface、d(x, y, z) の (いくつかの) カウントをプロットするために使用します。私にとっては、d(x, y ,z) の等高線 0.1 をプロットするだけで十分でした。Matlab は、データ セットの距離 0.1 内にあるすべての点の見栄えの良い表面を、良好な照明とすべてでプロットします。

于 2012-10-09T09:04:46.700 に答える
0

povray では、点を球の中心にすれば、blob オブジェクトを使用して非常に密集した点のコレクションを表示できます。
http://www.povray.org/documentation/view/3.6.1/71/ 「スペース」のスライスを作成し、データに従って色を付けたい場合は、おそらくオブジェクト パターン (に基づく#declared blob オブジェクト) がうまくいくかもしれません。

Povray には df3 ファイルを操作する方法もありますが、これは私が使用したことはありませんが、このユーザーはあなたの視覚化と同様のことを行ったようです。 http://paulbourke.net/miscellaneous/df3/

于 2012-09-25T13:17:55.520 に答える