玫瑰花c语言代码

玫瑰花c语言代码

#include <dos.h>
#include <graphics.h>
#include <math.h>
/*玫瑰花*/
#define FNX(x) (int)(xo+(x)*1.0)
#define FNY(y) (int)(getmaxy()-(yo+(y)*1.0))
#define FNX2(phi) cos(phi)*ac-sin(phi)*bs
#define FNY2(phi) cos(phi)*as+sin(phi)*bc

/*画旋转的椭圆*/
void elli(int xo,int yo,int a,int b,double theta)
{
int i;
double da,c,s,ac,as,bc,bs,xf,yf,phi,x,y;
theta=theta*0.01745;
da=3*0.1745;
c=cos(theta);
s=sin(theta);
ac=a*c;as=a*s;
bc=b*c;bs=b*s;
x=FNX2(0);
y=FNY2(0);
moveto(FNX(x),FNY(y));
for(i=1;i<=360;i++)
{
phi=i*da;
xf=x*cos(phi)*0.1;
yf=b*sin(phi)*0.1;
x=FNX2(phi);
y=FNY2(phi);
lineto(FNX(x),FNY(y));
}
}

/*花*/
void hua(int x,int y)
{
register i;
/*画粉红色玫瑰*/
setcolor(12);
arc(x+65,y-60,150,350,8);
arc(x+66,y-54,300,470,8);
arc(x+65,y-56,30,230,10);
arc(x+64,y-57,300,490,17);
ellipse(x+73,y-30,250,450,27,40);
ellipse(x+59,y-30,100,290,27,40);
ellipse(x+65,y-40,140,270,20,30);
setfillstyle(SOLID_FILL,5);
floodfill(x+65,y-20,12);
/*画红色玫瑰*/
arc(x,y,150,350,12);
arc(x+1,y+8,280,470,12);
arc(x,y+2,30,230,16);
arc(x,y+3,80,240,28);
arc(x+2,y+8,180,330,22);
arc(x-2,y+2,310,460,25);
ellipse(x-12,y+30,120,300,30,40);
ellipse(x+10,y+28,250,423,30,42);
ellipse(x-4,y+10,290,393,30,40);
setfillstyle(SOLID_FILL,4);
floodfill(x+5,y+31,12);
/*画紫色花骨朵*/
ellipse(x+120,y+5,0,360,15,25);
setfillstyle(SOLID_FILL,1);
floodfill(x+120,y,12);
/*画黄色花骨朵*/
ellipse(x-70,y+10,0,360,14,20);
setfillstyle(SOLID_FILL,14);
floodfill(x-70,y+10,12);
setcolor(10);
/*画红花花萼*/
ellipse(x-15,y+32,190,310,30,35);
ellipse(x+16,y+32,235,355,26,35);
ellipse(x,y+35,190,350,43,50);
arc(x,y+82,190,350,6);
setfillstyle(SOLID_FILL,2);
floodfill(x,y+75,10);
/*画粉花花萼*/
ellipse(x+50,y-48,190,320,22,50);
ellipse(x+80,y-48,220,350,22,50);
ellipse(x+65,y-28,180,360,36,50);
floodfill(x+65,y+18,10);
/*画主枝*/
for(i=0;i<3;i++ )
{
ellipse(x-98,y+100+i,255,371,100,80);
ellipse(x-20,y+30+i,260,358,140,140);
ellipse(x+224,y+20+i,180,218,160,140);
}
/*画侧枝*/
ellipse(x+70,y+34,180,233,140,140);
ellipse(x,y+40,205,255,100,120);
ellipse(x+135,y-30,209,249,72,120);
ellipse(x,y+20,263,301,100,120);
ellipse(x+85,y-10,278,305,100,120);
ellipse(x+100,y-62,282,308,90,120);
ellipse(x-50,y-10,277,314,30,120);
ellipse(x+70,y+80,222,266,52,120);
ellipse(x-60,y-45,229,266,52,120);
ellipse(x+79,y-45,229,266,52,120);
ellipse(x+84,y,224,273,52,120);
ellipse(x+110,y+40,240,2

你可能喜欢

  • 花的语言
  • 简单程序
  • graphics.h
  • C语言编程图形
  • C语言经典算法
  • 贪吃蛇c语言代码
  • c语言通讯录代码
  • c语言程序代码

玫瑰花c语言代码相关文档

最新文档

返回顶部