C语言编写实现玫瑰花 -电脑资料

    #include

    #include

    #include

    /*玫瑰花*/

    #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);

相关文章

烧伤的治疗方法都有哪些

在日常生活当中我们都会遇到很多不好的意外,有的意外甚至对我们的伤害很大,比如烧伤,同时烧伤是在日常生活当中除了跌打扭伤之外最为常见的一种意外了,因为烧伤的意外给很多的家庭带来了很多的痛苦,因为当皮肤重...
资料大全2019-08-07
烧伤的治疗方法都有哪些

小学生学习计划表

学习计划要具体、明确、切实可行,同时又要留有充分的余地,以下是小编收集整理的小学生学习计划表,供大家参考借鉴,希望可以帮助到有需要的朋友。...
资料大全2011-03-06
小学生学习计划表

圣诞节创意礼物

创意圣诞礼物——温暖牌「迷你暖空调」:冬天很受欢迎的一个东东,这种类似于苹果手机大小的取暖器采用优质防火材料制成,耐高温不变形,外形小巧方便携带;插电后升温迅速,热能高效、...
资料大全2013-08-02
圣诞节创意礼物

山东八年级暑假生活指导答案

篇一:山东八年级暑假生活指导答案:物理第①课:实践应用1、(1)A B C A D F 80 1.02(2)在桌子上固定一块木板木板一头钉一颗钉子另一头的边缘固定一根木棍,山东...
资料大全2019-04-01
山东八年级暑假生活指导答案

小学语文评课意见

以下是小编整理的小学语文评课意见,欢迎阅读参考。小学语文评课意见(一)这节课老师通过图片、录像、课文等多种形式来使学生认识美丽的小兴安岭,使学生对小兴安岭的景色、物产有了深刻的印象。老师先带领学生一块...
资料大全2014-05-06
小学语文评课意见

记黎明湖游记

到云南不到西双版纳,不算到过云南,到西双版纳不乘船游览澜沧江,则不算到过西双版纳。而到东城不去游览众多的湖泊,不算到过东城,在众多湖泊中,最著名的要数黎明湖。黎明河北起雷的黑鱼湖南到龙凤的湿地,绵延3...
资料大全2017-06-05
记黎明湖游记