EasyX绘制多边形

简介: EasyX绘制多边形

引言:

在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;
}

输出结果

image.png

二、较难打印的多边形

这一类多边形因为顶点坐标较难算出,需要用到一些数学知识。

举个栗子:打印正五边形

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

输出结果:

image.png

三、polygon函数扩展

polygon函数不仅可以打印规则正多边形,不规则图形也能打印。

只需要将各个顶点传入polygon函数,就能将各个顶点依次相连,组成一个封闭的图形。

知道顶点坐标,一切都好说!

四、polygon函数和polyline函数对比

这两个函数基本一致,唯一区别在于前者绘制封闭图形,也就是会连接首尾两个顶点形成封闭图形,polyline就不会,因此形成不封闭图形。

相关文章
|
7月前
|
计算机视觉 Python
OpenCV中线段、矩形、圆形、多边形的讲解与绘制实战(附Python源码)
OpenCV中线段、矩形、圆形、多边形的讲解与绘制实战(附Python源码)
161 0
|
2月前
ThreeJs绘制圆柱体
这篇文章介绍了在Three.js中绘制圆柱体的方法,包括创建圆柱体几何体、设置材质以及将其正确放置在三维场景中的技巧。
53 0
ThreeJs绘制圆柱体
|
4月前
使用QT绘制一个多边形
使用QT绘制一个多边形
96 0
|
6月前
Qt绘图(线条、椭圆、矩形、图片滚动)
Qt绘图(线条、椭圆、矩形、图片滚动)
416 3
|
5月前
|
前端开发 JavaScript
canvas系列教程01——直线、三角形、多边形、矩形、调色板
canvas系列教程01——直线、三角形、多边形、矩形、调色板
124 0
easyx库绘制bresenham直线
easyx库绘制bresenham直线
|
计算机视觉 Python
OpenCV中绘制圆和直线
要在OpenCV中绘制圆和直线,可以使用以下方法: 1. 导入所需库:
72 1
OpenCV-绘制多边形(fillConvexPoly和fillPoly的区别)
OpenCV-绘制多边形(fillConvexPoly和fillPoly的区别)
247 1
|
计算机视觉
OpenCV-基本图形绘制(圆、矩形、椭圆)
OpenCV-基本图形绘制(圆、矩形、椭圆)
103 0