引言:
在Easyx中,专门给了一个函数绘制多边形——polygon函数
一、打印较简单的多边形
像长方形、正方形、三角形、梯形这些多边形较容易打印,因为他们的顶点坐标较容易求出。
比如三角形
#include<easyx.h>
#include<stdio.h>
int main()
{
initgraph(800, 600);
setorigin(400, 300);
setaspectratio(1, -1);
POINT points[] = { {0,200},{200,-200},{-200,-200} };//声明POINT结构数组,使用三角形顶点初始化
polygon(points, 3);
//专门打印多边形的函数|先将上面定义数组首元素的指针传给polygon函数的第一个参数,第二个参数指明数组中的元素数量
getchar();
closegraph();
return 0;
}
输出结果
二、较难打印的多边形
这一类多边形因为顶点坐标较难算出,需要用到一些数学知识。
举个栗子:打印正五边形
#include<easyx.h>
#include<stdio.h>
#include<math.h>//用到三角函数sin和cos,需要引用数学类头文件
#define PI 3.14//需要使用弧度制,因此需要定义PI
int main()
{
initgraph(800, 600);
setorigin(400, 300);
setaspectratio(1, -1);
double theta = PI / 2;
double delta = 2 * PI / 5;
int r = 200;
POINT points[5];//存储五边形的顶点
for (int i = 0; i < 5; i++)
{
points[i].x = cos(theta + i * delta) * r;
points[i].y = sin(theta + i * delta) * r;
}
//通过三角函数的方式计算五个顶点的坐标
polygon(points, 5);
getchar();
closegraph();
return 0;
}
输出结果:
三、polygon函数扩展
polygon函数不仅可以打印规则正多边形,不规则图形也能打印。
只需要将各个顶点传入polygon函数,就能将各个顶点依次相连,组成一个封闭的图形。
知道顶点坐标,一切都好说!
四、polygon函数和polyline函数对比
这两个函数基本一致,唯一区别在于前者绘制封闭图形,也就是会连接首尾两个顶点形成封闭图形,polyline就不会,因此形成不封闭图形。
标签:200,多边形,polygon,EasyX,points,顶点,绘制,函数 From: https://blog.51cto.com/u_15740457/5992156