0

たとえば、点群データのテキストファイルがあります

[17.42851 7.370431 -0.8465996                                            
17.3368 7.309645 -0.6999135
17.17311 7.201123 -0.4422026 
17.26928 7.269999 -0.5591076 
17.09828 7.153707 -0.3068624 
17.59379 7.476501 -0.8979237]

上記の .txt ファイルの最初の行の最初の値は x 座標を示し、2 番目は y を示し、3 番目は z 座標を示します。matlab のコマンドを使用しuiimportてインポートしましたが、問題は、これらのポイントをレイヤーごとにプロットしたいので、レイヤーごとにどのように分離すればよいですか? matlabからのコマンドを教えてください。

4

2 に答える 2

2

あなたのマトリックス:

A = [17.42851 7.370431 -0.8465996;                                            
17.3368 7.309645 -0.6999135;
17.17311 7.201123 -0.4422026; 
17.26928 7.269999 -0.5591076; 
17.09828 7.153707 -0.3068624; 
17.59379 7.476501 -0.8979237];

長さは次のとおりです。

L = size(A,1);

まず、それを複製する必要があります。

B = repmat(A,L,1);

次に、最後の行 (z) を並べ替えます。

B(:,3) = sort(B(:,3))

その結果:

   17.4285    7.3704   -0.8979
   17.3368    7.3096   -0.8979
   17.1731    7.2011   -0.8979
   17.2693    7.2700   -0.8979
   17.0983    7.1537   -0.8979
   17.5938    7.4765   -0.8979
   ...
   17.4285    7.3704   -0.3069
   17.3368    7.3096   -0.3069
   17.1731    7.2011   -0.3069
   17.2693    7.2700   -0.3069
   17.0983    7.1537   -0.3069
   17.5938    7.4765   -0.3069

あなたはそれからプロットすることができます

scatter3(B(:,1),B(:,2),B(:,3));

につながる: 散布図

于 2013-09-12T11:44:30.830 に答える
0

私の理解が正しければ、各平面をプロットする必要があります。

scatter(x,y,2,z) 

は、サイズ 2 の点で x 座標と y 座標の 2D プロットをプロットします。プロットの色は、z 座標の線形マッピングになります。

他の面についても同じように進めることができます...

scatter(x,z,2,y)

xz平面をプロットします

または、次を使用して3Dポイントクラウドをプロットすることもできます

scatter3(x,y,z)

次に、MATLAB Figure の回転ボタンをクリックし、Figure を右クリックしてビューを (xy、xz、yz 平面に) 変更します。

于 2013-09-12T11:05:18.253 に答える