zoukankan      html  css  js  c++  java
  • 旋转的五角星

    #include <graphics.h>
    #include <stdlib.h>
    #include <math.h>
    #define PI 3.1415926
    #define R1 150
    void Pentacle(double m)          /*自定义函数Pentacle用来画五角星*/
    {
        int x1, y1, x2, y2;
        double n;
        setcolor(RED);
        for (n = m; n <= 2 *PI + m; n += 2 * PI / 5)
        {
            x1 = 320+R1 * cos(n);
            y1 = 240-R1 * sin(n);
            x2 = 320+R1 * 0.382 * cos(n + PI / 5);      /*0.382黄金分割点*/
            y2 = 240-R1 * 0.382 * sin(n + PI / 5);
            line(x1, y1, x2, y2);          /*将外圈确定的点与内圈确定的点相连接*/
            x1 = 320+R1 * cos(n + 2 * PI / 5);
            y1 = 240-R1 * sin(n + 2 * PI / 5);
            line(x2, y2, x1, y1);          /*将内圈确定的点与外圈确定的点相连接*/
        }
        setfillstyle(1, RED);          /*设置填充形式为红色实填充*/
        floodfill(320, 240, RED);         /*对五角星内进行填充*/
    }

    void light()             /*自定义函数light用来画发光部分*/
    {
        int i, j, x, y, r2 = 160;
        setcolor(YELLOW);
        for (i = 0; i <= 16; i++)
        {
            for (j = 0; j <= 60; j++)
                ellipse(320, 240, j *6, j *6+1, r2 + 10 * i, r2 + 5 * i);
        }
    }

    void Delay(int Second)          /*自定义时间延迟函数Delay*/
    {
        long T1, T2;
        T1 = time();
        while (1)
        {
            delay(50);
            T2 = time();
            if (T2 - T1 > Second)
                break;
        }
    }

    main()
    {
        int gdriver = DETECT, gmode;
        double m = 0.0;
        initgraph(&gdriver, &gmode, "");       /*函数图形初始化*/
        while (!kbhit())
        {
            Pentacle(m);          /*调用函数Pentacle*/
            light();           /*调用函数light*/
            Delay(0.5);          /*调用函数Delay*/
            cleardevice();          /*清屏*/
            m += PI / 6;          /*函数参数每次增加30°实现五角在不同位置重画*/
        }
        getch();
        closegraph();         /*退出图形状态*/
    }

  • 相关阅读:
    VMware虚拟机网络桥接模式下无法与主机ping通解决办法
    (一)编写Bootloader程序应该注意的一些问题
    使用TrueSTUDIO和MDK编译器生成.bin文件
    Linux开发板通过串口与电脑上位机通信
    STM32知识点
    仿真器SWD可不接复位引脚的原因
    ARM内核常用缩写含义
    三大范式(转)
    修改主键示例
    ROW_NUMBER用法详解
  • 原文地址:https://www.cnblogs.com/djcsch2001/p/1960131.html
Copyright © 2011-2022 走看看