旋转的五角星

简介: #include #include #include #define PI 3.1415926#define R1 150void Pentacle(double m)          /*自定义函数Pentacle用来画五角星*/{    int x1, y1, x2, y2;    doubl...

#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();         /*退出图形状态*/
}

相关文章
|
7月前
|
计算机视觉
旋转
【5月更文挑战第15天】旋转。
61 1
|
5月前
|
前端开发
canvas系列教程02——圆、弧线、圆角矩形、曲线(气泡、心形、N叶草)、扇形
canvas系列教程02——圆、弧线、圆角矩形、曲线(气泡、心形、N叶草)、扇形
53 0
立体照片旋转
旋转照片+开关灯
75 0
立体照片旋转
c3旋转立方体
要求:六面立方体,立体旋转 
93 0
c3旋转立方体
|
前端开发 JavaScript 数据可视化
用Canvas实现简单画图(线、三角形、矩形、圆)
👋因为在B站看到一个小demo是基于canvas写的,非常喜欢,然后上掘金大数据又给我推了 《Canvas 从入门到劝朋友放弃(图解版)》,就像上手一下canvas,本来不想写笔记的,因为《Canvas 从入门到劝朋友放弃(图解版)》自己看了一下挺全的,但本着输入要有输出,所以就有了这篇文章
250 0
138.正方形螺旋拼块图案
138.正方形螺旋拼块图案
81 0
杭电OJ变形 骨牌铺满方格 2501
杭电OJ变形 骨牌铺满方格 2501
102 0
|
JavaScript 前端开发