私は3Dの雲があります。私はそれらを表面としてプロットする必要があります。私はmeshdrid、griddata、scatteredInterpolant、trisurf-delaunayで変形を試みました。何も動作しません。私はこの質問が多く議論されたことを知っていますが、私はいくつかの重要な詳細を理解していないようです。私は今持っているコード:表面機能でそれを描画する方法を見つけるためにmatlabに3D雲の表面を描く
は、あなたが私を助けてもらえ:
load('coords.mat')
figure()
subplot(1,2,1)
plot3(x,y,z,'.')
axis off
view(3)
subplot(1,2,2)
C=gray(numel(x)); % unsuccessful attempt
[~,idx]=sort(z); % to have
C=C(idx,:); % illumination
scatter3(x,y,z,50,C,'filled')
axis off
view(3)
には、以下の画像を生成します。
と、いくつかのドットが「見えない」ドットを削除する方法)(それは私の問題である可能性がある)表面の内側に
2かもしれ?など
さまざまなケースでは解決策が必要ですが、画像とデータは単なる例です。
マットファイルはhereからダウンロードできます。
P.S.
重要な場合 - このドットの座標をランダムベジエ曲線の回転として取得します。上記の場合のデータで
UPDATE
私はドット量の少ない別のセットを生成大きすぎる:
座標はhereです。
Coool !!!ありがとう!!私はこれらのベクトルを自分で生成します - それは私の質問のために長くて重要ではないコードです。 – zlon
申し訳ありませんが、私は愚かな問題を抱えていますが、必ずしもx、y、zが正方行列に再構成されているとは限りません(2番目のデータセットを参照)。私はいくつかの補間を経由する必要がありますか? – zlon
@ zlonこれはデータがどこから由来したかについて話したかった理由です。あなたのベクトルはx方向のスライスです。これは、サイズが100x100で再成形された理由です。正方形の数ではなく、スライスが100個あるからです。小さなデータセットの場合は、サイズを100x60に変更する必要があります。これらのことは、データを作成するときに制御しやすくなります。 –