1

3D で軌跡を表す 3 つのベクトルで構成されるデータセットがあるとします。この時間データは、次のコマンドを使用して Matlab でプロットできます。 plot3(Data(:,1),Data(:,2),Data(:,3),'.r');

出力はポイントの「クラウド」です。 ここに画像の説明を入力

軌跡を視覚化したいので、私の質問は次のとおりです。ポイントの色が時間データのインデックス (時間) を表すようにプロットを変更するにはどうすればよいですか? 私の主張をもう少し明確にするために、軌跡を視覚化できるように、色が赤から青に「滑らかに」変化する点の軌跡を想像してください。

4

1 に答える 1

1

私は2つの答えを考えることができます:

surface次のように 3D ラインで関数を使用します。

color=1:length(Data(:,1));

surface([Data(:,1);Data(:,1)],[Data(:,2);Data(:,2)][Data(:,3);Data(:,3)],[color ;color],...
    'facecol','no','edgecol','interp');

これは非常に優れたトリックですが、線を描画します。

hold onポイントをプロットする場合は、RGB カラーを定義し、次のように単一のポイントをプロットできます。

hold on

for i=1:length(Data(:,1)) 

    plot3(Data(i,1),Data(i,2),Data(i,3),'Color',[(i/100*255)/255 0/255 (255-(i/100*255))/255],'LineWidth',2)

end    

shg
于 2013-08-05T07:54:49.640 に答える