Matlab利用序列離散點繪製漸變顏色空間曲線

2021-08-27 08:13:50 字數 1434 閱讀 2671

寫**時候,可能會用到繪製空間曲線。這裡給出乙個自己寫的matlab函式,用於將一組離散的3d點繪製成空間曲線。點多的時候效果比較好,因為每兩個點之間是直線連線。曲線的顏色是從起點到終點漸變的~

function [  ] = drawcolorfulcurve( pointlist, startpointcolor,endpointcolor,circleradius)

%drawcolorfulcurve 繪製從起點到終點顏色漸變的空間曲線

%pointlist :3d point array

%startpointcolor: the color of starting point

%endpointcolor: the color of end point

%circleradius: the tadius of starting and end points

% below is some default params

if(nargin<2)

startpointcolor = [1,0,0];

endpointcolor = [0,1,0];

circleradius=50;

elseif(nargin<4)

circleradius=50;

end% the main function body

[pointnum, temp] = size(pointlist);

colorstep = (endpointcolor-startpointcolor)/(pointnum-1);

for i=1:pointnum-1

plot3(pointlist(i:i+1,1),pointlist(i:i+1,2),pointlist(i:i+1,3),'color',colorstep*(i-1)+startpointcolor);

hold on

endhold on

scatter3(pointlist(1,1),pointlist(1,2),pointlist(1,3),circleradius,startpointcolor);

hold on

scatter3(pointlist(pointnum,1),pointlist(pointnum,2),pointlist(pointnum,3),circleradius,endpointcolor);

end

clear all

pointlist =load('trajectorydata.txt');

drawcolorfulcurve(pointlist);

grid on

給出乙個參考資料點檔案,繪製效果如下圖。

matlab由離散點繪製光滑曲線並額外標註點

最近專業選修課在學matlab,因為之前做課程專案用過,所以學著還是蠻順利的。直到最近需要做一張圖,將存在一張excel表裡的資料畫出來,並且標註一些不在定義域裡的點。乍一看要求還沒太明白,就先把data.xlsx裡的資料讀出來 data xlsread data.xlsx x data 1 8,1...

利用MATLAB繪製相軌跡

不直接用時間變數而用狀態變數表示運動的方法稱為相空間方法,也稱為狀態空間方法。在自動控制理論中,把具有直角座標x和x 的平面叫做相平面。相平面是二維的狀態空間,二階系統的某一狀態對應於相平面上的一點,狀態隨時間轉移的情況對應於相平面上點的移動。相平面上的點隨時間變化描繪出來的曲線叫做相軌跡。相軌跡作...

利用MATLAB繪製內擺線動畫

生成內擺線的函式 function curveplot a,x0,y0,x,y,xin,yin 繪製某一時刻的大圓 小圓和點m a即題中的a,x0,y0 為小圓圓心,x,y 為m點的起始位置,xin,yin 為m點的一般位置 phi 0 0.01 2 pi x 4 a cos phi x,y 為大圓...