C++ easyX小程序:画五角星

       //本小程序通过调用easyX的moveto、lineto函数画出五角星编写了FiveStar函数,在调用这个函数时setbkcolor、setlinecolor、setfillcolor设置了背景、线及填充颜色,又调用floodfill函数对五角星进行颜色填充。
//代码及注释如下:
#include<iostream>
#include<graphics.h>
#include<math.h>
using namespace std;
void FiveStar(int x,int y,int R) //绘图函数
{   
  //(x,y)五角星圆心坐标
  //R--五角星外接圆半径
    //计算五角星各外角顶点坐标
    int x1=x+R*cos(3.1415*(90+0*72)/180);
    int y1=y-R*sin(3.1415*(90+0*72)/180);
    int x2=x+R*cos(3.1415*(90+1*72)/180);
    int y2=y-R*sin(3.1415*(90+1*72)/180);
    int x3=x+R*cos(3.1415*(90+2*72)/180);
    int y3=y-R*sin(3.1415*(90+2*72)/180);
    int x4=x+R*cos(3.1415*(90+3*72)/180);
    int y4=y-R*sin(3.1415*(90+3*72)/180);
    int x5=x+R*cos(3.1415*(90+4*72)/180);
    int y5=y-R*sin(3.1415*(90+4*72)/180);
    //计算五角星内角内接圆半径
    int r=(int)R*0.44; 
    //计算五角星各内角顶点坐标
    int xx1=x+r*cos(3.1415*(90+0*72+36)/180);
    int yy1=y-r*sin(3.1415*(90+0*72+36)/180);
    int xx2=x+r*cos(3.1415*(90+1*72+36)/180);
    int yy2=y-r*sin(3.1415*(90+1*72+36)/180);
    int xx3=x+r*cos(3.1415*(90+2*72+36)/180);
    int yy3=y-r*sin(3.1415*(90+2*72+36)/180);
    int xx4=x+r*cos(3.1415*(90+3*72+36)/180);
    int yy4=y-r*sin(3.1415*(90+3*72+36)/180);
    int xx5=x+r*cos(3.1415*(90+4*72+36)/180);
    int yy5=y-(int)r*sin(3.1415*(90+4*72+36)/180);
    //画五角星
    moveto(x1, y1);
    lineto(xx1, yy1);
    lineto(x2, y2);
    lineto(xx2, yy2);
    lineto(x3, y3);
    lineto(xx3,yy3);
    lineto(x4, y4);
    lineto(xx4,yy4);
    lineto(x5, y5);
    lineto(xx5,yy5);
    lineto(x1, y1);
}
int main()
{
    initgraph(640,480); //初始化窗口
    setbkcolor(YELLOW); //背景黄色
    cleardevice();  //清屏
    setlinecolor(RED); //线颜色红色
    FiveStar(300,220,150); //调用绘图函数
    setfillcolor(RED); //填充色红色
    floodfill(300,220,RED,0); //用红色填充
    system("pause");
    return 0;
}

相关推荐

  1. C++ easyX程序五角星

    2024-01-31 22:34:02       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-31 22:34:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-31 22:34:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-31 22:34:02       82 阅读
  4. Python语言-面向对象

    2024-01-31 22:34:02       91 阅读

热门阅读

  1. 使用Windows API实现屏幕截图及服务器传输

    2024-01-31 22:34:02       61 阅读
  2. SQL Server 函数参考手册

    2024-01-31 22:34:02       53 阅读
  3. Filebeat日志采集到Logstash再到Elasticsearch集群

    2024-01-31 22:34:02       66 阅读
  4. c++11学习笔记

    2024-01-31 22:34:02       71 阅读
  5. nginx+ gunicorn部署flask项目

    2024-01-31 22:34:02       47 阅读
  6. 20240130

    20240130

    2024-01-31 22:34:02      52 阅读
  7. 2024.1.20 用户画像标签开发,面向过程方法

    2024-01-31 22:34:02       52 阅读
  8. 基于Qt 音乐播放器mp3(进阶)

    2024-01-31 22:34:02       52 阅读