用MATLAB函数画出五星红旗,我不会,求解!
谢谢,谢谢
1条回答 默认 最新
- joel_1993 2021-10-22 11:20关注
你好,matlab画五星红旗代码供参考:
function China_flag() A=30;B=20;C=10;D=2;E=3;F=1;G=5; len=A; wid=B; rectangle('Position',[-len/2,-wid/2,len,wid],'facecolor',... [210,16,52]/255,'edgecolor',[210,16,52]/255) hold on axis equal axis off p1=[-len/2+G,wid/2-G]; p2=[-len/2+C,wid/2-D]; p3=[-len/2+C+D,wid/2-D-D]; p4=[-len/2+C+D,wid/2-D-D-E]; p5=[-len/2+C,wid/2-D-D-E-D]; R=E; rr=F; star(p1,R,[251,222,74]/255,0) rot=pi/2+atan((G-D)/(C-G)); star(p2,rr,[251,222,74]/255,rot) rot=pi/2+atan((G-D-D)/(C+D-G)); star(p3,rr,[251,222,74]/255,rot) rot=atan((C+D-G)/(D+D+E-G)); star(p4,rr,[251,222,74]/255,rot) rot=atan((C-G)/(D+D+D+E-G)); star(p5,rr,[251,222,74]/255,rot) end function star(xy,r,colorfill,rot) coor=zeros(10,2); for i=1:5 th=pi/2+(i-1)*72*pi/180+rot; coor(2*i-1,1:2)=r*[cos(th),sin(th)]+xy; coor(2*i,1:2)=r/(2*cos(36/180*pi)+1)*[cos(th+36*pi/180),sin(th+36*pi/180)]+xy; end patch('Vertices',coor,'Faces',1:size(coor,1),'FaceColor',colorfill,'EdgeColor',colorfill); end
效果图:
答题不易,有帮助望采纳哟
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 对于相关问题的求解与代码
- ¥15 ubuntu子系统密码忘记
- ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料