MATLAB的强大绘图功能之绘制玫瑰花
MATLAB的强大绘图功能之绘制玫瑰花
MATLAB强大的绘图功能是其特点之一,我们可以方便的画出美观的图像。下面是用MATLAB语言绘制玫瑰花的程序。喜欢的小伙伴可以自己运行,看看效果。当然,你也可以对程序作适当修改,来显示不同的图形和字样。
%主程序
function plot_rose
draw_main(450,90);
t = 0:10 ;
plot(t,sin(0.5*t),'w') % 画出任意图形,待标注
%'L'
h = text(90,300,'L','Rotation',90);% 输出文字在坐标
set(h,'FontWeight','bold','FontSize',30)% 设置加粗字体,字号30
set(h,'FontName','Arial Rounded MT Bold');% 设置字体
set(h,'FontAngle','italic');% 设置斜字体
set(h, 'Color','r');% 设置字体颜色
%'O'
h = text(120,250,'O','Rotation',85);% 输出文字在坐标
set(h,'FontWeight','bold','FontSize',30)% 设置加粗字体,字号30
set(h,'FontName','Arial Rounded MT Bold');% 设置字体
set(h,'FontAngle','italic');% 设置斜字体
set(h, 'Color','r');% 设置字体颜色
%'V'
h = text(150,200,'V','Rotation',80);% 输出文字在坐标
set(h,'FontWeight','bold','FontSize',30)% 设置加粗字体,字号30
set(h,'FontName','Arial Rounded MT Bold');% 设置字体
set(h,'FontAngle','italic');% 设置斜字体
set(h, 'Color','r');% 设置字体颜色
%'E'
h = text(180,150,'E','Rotation',75);% 输出文字在坐标
set(h,'FontWeight','bold','FontSize',30)% 设置加粗字体,字号30
set(h,'FontName','Arial Rounded MT Bold');% 设置字体
set(h,'FontAngle','italic');% 设置斜字体
set(h, 'Color','r');% 设置字体颜色
%'Y'
h = text(300,20,'Y','Rotation',40);% 输出文字在坐标
set(h,'FontWeight','bold','FontSize',30)% 设置加粗字体,字号30
set(h,'FontName','Arial Rounded MT Bold');% 设置字体
set(h,'FontAngle','italic');% 设置斜字体
set(h, 'Color','r');% 设置字体颜色
%'O'
h = text(340,-10,'O','Rotation',30);% 输出文字在坐标
set(h,'FontWeight','bold','FontSize',30)% 设置加粗字体,字号30
set(h,'FontName','Arial Rounded MT Bold');% 设置字体
set(h,'FontAngle','italic');% 设置斜字体
set(h, 'Color','r');% 设置字体颜色
%'U'
h = text(400,-30,'U','Rotation',20);% 输出文字在坐标
set(h,'FontWeight','bold','FontSize',30)% 设置加粗字体,字号30
set(h,'FontName','Arial Rounded MT Bold');% 设置字体
set(h,'FontAngle','italic');% 设置斜字
set(h, 'Color','r');% 设置字体颜色
%画玫瑰花瓣
function draw_main(x,y)
arcdata{1}=[65 -60 150 350 8
66 -54 300 470 8
65 -56 30 230 10
64 -57 300 490 17];
ellipsedata{1}=[73 -30 250 450 27 40
59 -30 100 290 27 40
65 -40 140 270 20 30];
arcdata{2}=[0 0 150 350 12
1 8 280 470 12
0 2 30 230 16
0 3 80 240 28
2 8 180 330 22
-2 2 310 460 25];
ellipsedata{2}=[-12 30 120 300 30 40
10 28 250 423 30 42
-4 10 290 393 30 40];
ellipsedata{3}=[120 5 0 360 15 25];
ellipsedata{4}=[-70 10 0 360 14 20];
rose_e{2}=[x+16 y+32 235 355 26 35
x-15 y+32 190 310 30 35
x+0 y+35 190 350 43 50];
rose_e{1}=[x+80 y-48 220 350 22 50
x+50 y-48 190 320 22 50
x+65 y-28 180 360 36 50];
rose_e{3}=[x+120 y-6 200 340 17 25
x+120 y+7 160 380 17 27];
rose_e{4}=[x-70 y+15 140 390 17 20
x-75 y-10 205 340 10 30
x-60 y-10 195 340 5 30];
arcdata{3}=[0 82 190 350 6];
ss={'m','r',[218,112,214]/255,[138,43,226]/255}; %设置4朵花的颜色
s0={'k','k','g'};
figure('menubar','none','numbertitle','off','name','My_Rose'); %隐藏坐标轴
hold on
for j=1:length(ellipsedata)
for i=1:size(ellipsedata{j},1)
rectangle('Position',[x+ellipsedata{j}(i,1)-ellipsedata{j}(i,5),y+ellipsedata{j}(i,2)-ellipsedata{j}(i,6),2*ellipsedata{j}(i,5),2*ellipsedata{j}(i,6)],'Curvature',[1,1],...
'FaceColor',ss{j})
end
if j<4
for i=1:size(arcdata{j},1)
draw_arc(x+arcdata{j}(i,1),y+arcdata{j}(i,2),arcdata{j}(i,3),arcdata{j}(i,4),arcdata{j}(i,5),s0{j});
end
end
for i=1:size(rose_e{j},1)
plot_rose_e(rose_e{j},j);
end
end
for j=1:3
zhuzhi=[x-98,y+100+j,255,371,100,80
x-20,y+30+j,260,358,140,140
x+224,y+20+j,180,218,160,140];
draw_branch(zhuzhi);
end
ce_branch=[x+70,y+34,180,233,140,140;
x,y+40,205,255,100,120;
x+135,y-30,209,249,72,120;
x,y+20,263,301,100,120;
x+85,y-10,278,305,100,120;
x+100,y-62,282,308,90,120;
x-50,y-10,277,314,30,120;
x+70,y+80,222,266,52,120;
x-60,y-45,229,266,52,120;
x+79,y-45,229,266,52,120;
x+84,y,224,273,52,120;
x+110,y+40,240,282,100,120];
draw_branch(ce_branch);
t_leaf=[x+168,y+282,10,20,-40;
x+160,y+252,8,16,260;
x+145,y+270,8,16,-15;
x+156,y+224,10,20,-45;
x+150,y+200,8,16,270;
x+135,y+220,8,16,-10;
x+146,y+144,8,16,-80;
x+130,y+130,6,12,235;
x+125,y+154,7,14,-10;
x+78,y+98,6,12,-90;
x+60,y+90,5,10,180;
x+70,y+109,5,10,-45;
x-125,y+270,12,24,60;
x-95,y+270,10,20,10;
x-110,y+245,10,20,90;
x-105,y+220,10,20,45;
x-100,y+190,8,16,135;
x-75,y+210,8,16,-45;
x+65,y+190,10,20,-45;
x+40,y+185,8,16,0;
x+55,y+165,8,16,90];
for j=1:size(t_leaf,1)
draw_elli(t_leaf(j,1),t_leaf(j,2),t_leaf(j,3),t_leaf(j,4),t_leaf(j,5));
end
axis ij
axis off
set(gcf,'color','w');
daspect([1,1,1])
% 画旋转椭圆
function draw_elli(x0,y0,a,b,theta)
theta=-theta;
t = 0:0.01:2*pi;
x = a*cos(t);
y = b*sin(t);
xy = zeros(2,length(t));
for i = 2:length(t)
xy(:,i) = expm([0,-pi/180*theta;pi/180*theta,0])*[x(i);y(i)];
end
fill(x0 +xy(1,:),480-y0 + xy(2,:),[0 mod((rand(1)*100+5),10)/10 0]);
% 画弧线
function draw_arc(x0,y0,st_a,en_a,r,c_c)
t = (pi/180*st_a:0.01:pi/180*en_a)-pi;
x = x0 + r*cos(t);
y = y0 + r*sin(t);
plot(x,y,c_c);
%画花萼
function plot_rose_e(matr,ch)
x=[];y=[];n=size(matr,1);
for i=1:size(matr,1)
t=(matr(i,3):matr(i,4))*pi/180-pi;
x1=matr(i,1)+matr(i,5)*cos(t);
y1=matr(i,2)+matr(i,6)*sin(t);
if i<3
x1=2*matr(i,1)-x1;
end
x1=fliplr(x1);
y1=fliplr(y1);
if n<3 && i<2
x1=fliplr(x1);
y1=fliplr(y1);
end
if ch==4 && i==2
x1=fliplr(x1);
y1=fliplr(y1);
end
x=[x,x1];
y=[y,y1];
end
patch(x,y,'g');
% 画树枝
function draw_branch(zhuzhi)
for k=1:size(zhuzhi,1)
t=(zhuzhi(k,3):zhuzhi(k,4))*pi/180-pi;
x1=zhuzhi(k,1)+zhuzhi(k,5)*cos(t);
y1=zhuzhi(k,2)+zhuzhi(k,6)*sin(t);
x1=2*zhuzhi(k,1)-x1;
plot(x1,y1,'g','linewidth',2);
end
把上面的MATLAB程序运行后,就会出现下面的两幅图。第一幅图是加有“LOVE YOU”的字样,第二幅图是没有添加“LOVE YOU”的字样。
没有添加文字
添加文字
-
- “温暖家”实景系列访谈丨第四期:来青浦吧!这一定是你梦中的“诗画”大片
-
2024-11-18 20:51:29
-
- 十八罗汉,你知道都有谁吗?
-
2024-11-18 20:49:13
-
- 李现壁纸合集:不知道密码就别动我家小孩手机
-
2024-11-18 20:46:58
-
- 明月来相照-王吴军
-
2024-11-18 20:44:42
-
- 不要跳入他人的逻辑圈
-
2024-11-18 20:42:27
-
- 奥迪抄完,本田抄
-
2024-11-18 20:40:11
-
- 10万左右,可以买到什么样的别克轿车
-
2024-11-18 20:37:56
-
- 我们不一样:大家都来说说长城的VV7和VV5有哪些不同?
-
2024-11-18 20:35:40
-
- 世界风光:日本-福冈县-福冈市
-
2024-11-18 20:33:25
-
- 小黄车真的要黄了?曾经风靡一时的ofo真的快要破产了吗?
-
2024-11-18 20:31:10
-
- 汴梁命理|看看你的生肖就知道与哪位神仙有缘 快来看看吧!
-
2024-11-18 20:28:54
-
- 为何印度能够大量生产仿制药而不被制裁?
-
2024-11-18 20:26:39
-
- 测光模式详解,看这一篇文章就够了
-
2024-11-18 04:01:38
-
- 广东这座城市,与广州相距400多公里,为何被称为“广州湾”?
-
2024-11-18 03:59:23
-
- 歌唱家蒋大为:63岁被情人索要90万分手费,拼命演出只为买房
-
2024-11-18 03:57:07
-
- 王皇后 - 出生高贵却死的很惨的皇后
-
2024-11-18 03:54:52
-
- 20年还未禁绝,江苏又有人电鱼1万多斤!电鱼的危害究竟有多大?
-
2024-11-18 03:52:37
-
- “怀旧空吟闻笛赋,到乡翻似烂柯人”中的“烂柯人”是什么意思?
-
2024-11-18 03:50:21
-
- 为什么很多人买完冰箱就后悔,没注意到这2个细节
-
2024-11-18 03:48:06
-
- 太平天国主要将领排名,翼王石达开只排第三
-
2024-11-18 03:45:50