Matlab繪圖基礎——其他三維圖形(繪制填充的五角星)


 

其他三維圖形

 

 

%繪制魔方陣的三維條形圖
subplot(2,2,1);
bar3(magic(4));
 
%以三維桿圖形式繪制曲線y=2sin(x)
subplot(2,2,2);
y=2*sin(0:pi/10:2*pi);
stem3(y);
 
%已知x=[2347,1827,2043,3025],繪制餅圖
subplot(2,2,3);
pie3([2347,1827,2043,3025]);
 
%用隨機的頂點坐標值畫出2個黃色三角形
subplot(2,2,4);
fill3(rand(3,2),rand(3,2),rand(3,2), 'y' );
%fill3函數等效於二維函數fill,可在三維空間內繪制出_填充多邊形_
%格式:fill3(x,y,z,c)

 

應用示例:

 

例一:統計灰度圖片的“灰度頻率直方圖”和“累計直方圖”

 

A = imread('pout.tif') ;  %讀取一個內置圖片
%%內置圖片放在……MATLAB\R2010*\toolbox\images\imdata 
A = A(:)';
count0=zeros(1,256);       %設置矩陣大小
for x=1:length(A),count0(A(x)+1)=count0(A(x)+1)+1;end    %各灰度級像素個數
P=count0/length(A);                                      %頻率
stem(P,'Marker','none'); axis tight%作圖顯示  頻率直方圖
Hp=P;
for i=2:256,Hp(i)=P(i)+Hp(i-1);end   %累計直方圖
stem(Hp,'Marker','none'); axis tight;  %作圖顯示

 
 
例二:繪制填充空間五角星
 
%%%方法一
t=1:2:11;  
x = sin(0.4*t*pi);   %五角星嘛!  六角星可以除以6
y = cos(0.4*t*pi);
z=0.5*x+0.3*y;  %放置到三維空間中,這是該五角星所在的三維平面函數
fill3(x,y,z,'r')
xlabel('x');ylabel('y');zlabel('z');
haxes = gca;   axis square;box on;
set(haxes,'xticklabel','','yticklabel','','zticklabel','')  %移除原圖坐標軸軸的標注
%注意fill是順時針方向的,所以五角星閉合后,中間的五邊形並沒有填充%%地圖多邊形矢量化你懂得

hold on;  %填充五邊形
t=1:2:11;
x=cos(0.4*pi)/cos(0.2*pi)*sin(0.2*t*pi);
y=cos(0.4*pi)/cos(0.2*pi)*cos(0.2*t*pi);
z=0.5*x+0.3*y;
fill3(x,y,z,'r','EdgeColor','r');  %將五邊形的邊界顏色設置為紅色
    %%%顯示五角星所在的邊界 一個圓圈
    t=1:0.1:11;   
    x = cos(0.4*t*pi);
    y = sin(0.4*t*pi);
    z=0.5*x+0.3*y;
    plot3(x,y,z);hold off;
 
%%%方法二
i=1;
for ag=0.2*pi:0.2*pi:2.2*pi
    if mod(i,2)==1  %i是奇數,長邊,按照長邊的計算公式
        x(i) = sin(ag);   %五角星嘛!  六角星可以除以6
        y(i) = cos(ag);
    else      %i是偶數,短邊,按照短邊的計算公式
        x(i)=cos(0.4*pi)/cos(0.2*pi)*sin(ag);
        y(i)=cos(0.4*pi)/cos(0.2*pi)*cos(ag);
    end
    i=i+1;
end;clear i ag;
z=0.5*x+0.3*y;
fill3(x,y,z,'r','EdgeColor','r'); 
xlabel('x');ylabel('y');zlabel('z');
haxes = gca;   axis square;box on;
set(haxes,'xticklabel','','yticklabel','','zticklabel',''
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM