用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无用
悬赏问题
- ¥15 如何将下列的“无限压缩存储器”设计出来
- ¥15 下图接收小电路,谁知道原理
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭