用matlab绘制五星红旗,用MATLAB画五星红旗

function Chineseflag()

flag = zeros(13,40);

show = flag;

show(end+1,1) = 0;

show(end,end+1) = 1;

pcolor(1:41,1:14,show);

colormap hsv

shading flat

axis off

hold on

Chinesestar(1.5,6,11,0)

Chinesestar(0.5,12,8,pi/5)

Chinesestar(0.5,15,9.5,pi/30)

Chinesestar(0.5,15,11.5,pi/8)

Chinesestar(0.5,12,13,-pi/15)

hold off

上面是主程序

接下来是画星星。。。

function Chinesestar(r,x,y,z)

A = r*[-cos(pi*1/10),-sin(pi*1/10)*tan(pi*2/10),0,sin(pi*1/10)*tan(pi*2/10),cos(pi*1/1

0),sin(pi*1/10)/cos(pi*2/10)*cos(pi*1/10),cos(pi*3/10),0,-cos(pi*3/10),-sin(pi*1/10)/cos (pi*2/10)*cos(pi*1/10),-cos(pi*1/10)];

B = r*[sin(pi*1/10),sin(pi*1/10),1,sin(pi*1/10),sin(pi*1/10),-sin(pi*1/10)/cos(pi*2/10)* sin(pi*1/10),-sin(pi*3/10),-sin(pi*1/10)/cos(pi*2/10),-sin(pi*3/10),-sin(pi*1/10)/cos(pi*2 /10)*sin(pi*1/10),sin(pi*1/10)];

[C,D] = cart2pol(A,B);

C = C + z;

[A,B] = pol2cart(C,D);

A = 2*A+x;

B = B+y;

fill(A,B,[1,0.7,0])

hold on

plot(A,B,'y-')

里头的参数z就是旋转角度啦!

这就算完成了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值