MATLAB趣味编程(五星红旗)

本程序模拟画了一面五星红旗,纯属学习MATLAB之作。

本程序模拟画了一面五星红旗,纯属学习MATLAB之作。

本程序由realghost编写,如有转载请保留此信息。

如要交流请与 slqinyi@163.com 联系。

function nationflag()

axis equal

axis([0 5 0 3.09])

axis off

hold on

fill([0 5 5 0],[0 0 3.09 3.09],'r')

drawfive(1,2,pi/10,0.5,'y')

drawfive(1+cos(2*pi/10),2+sin(2*pi/10),0,0.15,'y')

drawfive(1+cos(2*pi/30),2+sin(2*pi/30),pi/5,0.15,'y')

drawfive(1+cos(-2*pi/30),2+sin(-2*pi/30),pi/10,0.15,'y')

drawfive(1+cos(-2*pi/10),2+sin(-2*pi/10),-pi/15,0.15,'y')

function drawfive(x,y,theta,r,color)

axis equal

t = linspace(0+theta,2*pi+theta,6);

xr = x+r*cos(t);

yr = y+r*sin(t);

xk = zeros(1,10);

yk = zeros(1,10);

xk(1) = xr(1);

yk(1) = yr(1);

[xk(2) yk(2)] = linepoint([xr(1) yr(1)],[xr(3) yr(3)],[xr(2) yr(2)],[xr(5) yr(5)]);

xk(3) = xr(2);

yk(3) = yr(2);

[xk(4) yk(4)] = linepoint([xr(2) yr(2)],[xr(4) yr(4)],[xr(1) yr(1)],[xr(3) yr(3)]);

xk(5) = xr(3);

yk(5) = yr(3);

[xk(6) yk(6)] = linepoint([xr(2) yr(2)],[xr(4) yr(4)],[xr(3) yr(3)],[xr(5) yr(5)]);

xk(7) = xr(4);

yk(7) = yr(4);

[xk(8) yk(8)] = linepoint([xr(3) yr(3)],[xr(5) yr(5)],[xr(1) yr(1)],[xr(4) yr(4)]);

xk(9) = xr(5);

yk(9) = yr(5);

[xk(10) yk(10)] = linepoint([xr(1) yr(1)],[xr(4) yr(4)],[xr(2) yr(2)],[xr(5) yr(5)]);

fill(xk,yk,color)

axis equal

function [x,y]=linepoint(p1,p2,p3,p4)

%ÇóÒÔp1,p1Ϊ¶ËµãµÄÖ±ÏßÓëÒÔp3,p4Ϊ¶ËµãµÄÖ±ÏߵĽ»Õ½×ø±ê

x1 = p1(1);

y1 = p1(2);

x2 = p2(1);

y2 = p2(2);

x3 = p3(1);

你可能喜欢

  • MATLAB编程实例
  • 地质遥感
  • 动画技术
  • 数学建模课程设计报告
  • 蚁群算法 matlab
  • 五星红旗
  • latex教程

MATLAB趣味编程(五星红旗)相关文档

最新文档

返回顶部