热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

matlab中玫瑰花的画法,网上收到的用matlab画玫瑰花的代码怎么不行啊,报告错误,求大神...

该楼层疑似违规已被系统折叠隐藏此楼查看此楼functionplot_rosedraw_main(450,90);functiondraw_main(x,y)%粉红色玫瑰arcdat

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

function plot_rose

draw_main(450,90);

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*,*b*,*y*};

s0={*k*,*k*,*g*};

figure(*menubar*,*none*,*numbertitle*,*off*,*name*,*rose*);

% figure(*numbertitle*,*off*,*name*,*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&#61;1:size(arcdata{j},1)

draw_arc(x&#43;arcdata{j}(i,1),y&#43;arcdata{j}(i,2),arcdata{j}(i,3),arcdata{j}(i,4),arcdata{j}(i,5),s0{j});

end

end

for i&#61;1:size(rose_e{j},1)

plot_rose_e(rose_e{j},j);

end

end

for j&#61;1:3

zhuzhi&#61;[x-98,y&#43;100&#43;j,255,371,100,80

x-20,y&#43;30&#43;j,260,358,140,140

x&#43;224,y&#43;20&#43;j,180,218,160,140];

draw_branch(zhuzhi);

end

ce_branch&#61;[x&#43;70,y&#43;34,180,233,140,140;

x,y&#43;40,205,255,100,120;

x&#43;135,y-30,209,249,72,120;

x,y&#43;20,263,301,100,120;

x&#43;85,y-10,278,305,100,120;

x&#43;100,y-62,282,308,90,120;

x-50,y-10,277,314,30,120;

x&#43;70,y&#43;80,222,266,52,120;

x-60,y-45,229,266,52,120;

x&#43;79,y-45,229,266,52,120;

x&#43;84,y,224,273,52,120;

x&#43;110,y&#43;40,240,282,100,120];

draw_branch(ce_branch);

t_leaf&#61;[x&#43;168,y&#43;282,10,20,-40;

x&#43;160,y&#43;252,8,16,260;

x&#43;145,y&#43;270,8,16,-15;

x&#43;156,y&#43;224,10,20,-45;

x&#43;150,y&#43;200,8,16,270;

x&#43;135,y&#43;220,8,16,-10;

x&#43;146,y&#43;144,8,16,-80;

x&#43;130,y&#43;130,6,12,235;

x&#43;125,y&#43;154,7,14,-10;

x&#43;78,y&#43;98,6,12,-90;

x&#43;60,y&#43;90,5,10,180;

x&#43;70,y&#43;109,5,10,-45;

x-125,y&#43;270,12,24,60;

x-95,y&#43;270,10,20,10;

x-110,y&#43;245,10,20,90;

x-105,y&#43;220,10,20,45;

x-100,y&#43;190,8,16,135;

x-75,y&#43;210,8,16,-45;

x&#43;65,y&#43;190,10,20,-45;

x&#43;40,y&#43;185,8,16,0;

x&#43;55,y&#43;165,8,16,90];

for j&#61;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*,*k*);

daspect([1,1,1])

% 画旋转椭圆

function draw_elli(x0,y0,a,b,theta)

theta&#61;-theta;

t &#61; 0:0.01:2*pi;

x &#61; a*cos(t);

y &#61; b*sin(t);

xy &#61; zeros(2,length(t));

for i &#61; 1:length(t)

xy(:,i) &#61; expm([0,-pi/180*theta;pi/180*theta,0])*[x(i);y(i)];

end

plot(x0 &#43;xy(1,:),480-y0 &#43; xy(2,:),*g*);

% 画弧线

function draw_arc(x0,y0,st_a,en_a,r,c_c)

t &#61; (pi/180*st_a:0.01:pi/180*en_a)-pi;

x &#61; x0 &#43; r*cos(t);

y &#61; y0 &#43; r*sin(t);

plot(x,y,c_c);

% 花萼

function plot_rose_e(matr,ch)

x&#61;[];y&#61;[];n&#61;size(matr,1);

for i&#61;1:size(matr,1)

t&#61;(matr(i,3):matr(i,4))*pi/180-pi;

x1&#61;matr(i,1)&#43;matr(i,5)*cos(t);

y1&#61;matr(i,2)&#43;matr(i,6)*sin(t);

if i<3

x1&#61;2*matr(i,1)-x1;

end

x1&#61;fliplr(x1);

y1&#61;fliplr(y1);

if n<3 && i<2

x1&#61;fliplr(x1);

y1&#61;fliplr(y1);

end

if ch&#61;&#61;4 && i&#61;&#61;2

x1&#61;fliplr(x1);

y1&#61;fliplr(y1);

end

x&#61;[x,x1];

y&#61;[y,y1];

end

fill(x,y,*g*);

% 画树枝

function draw_branch(zhuzhi)

for k&#61;1:size(zhuzhi,1)

t&#61;(zhuzhi(k,3):zhuzhi(k,4))*pi/180-pi;

x1&#61;zhuzhi(k,1)&#43;zhuzhi(k,5)*cos(t);

y1&#61;zhuzhi(k,2)&#43;zhuzhi(k,6)*sin(t);

x1&#61;2*zhuzhi(k,1)-x1;

plot(x1,y1,*g*,*linewidth*,2);

end



推荐阅读
author-avatar
风中凌乱2602938623
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有