首页 > 其他分享 >EasyX绘制多边形

EasyX绘制多边形

时间:2023-01-06 10:06:16浏览次数:46  
标签:200 多边形 polygon EasyX points 顶点 绘制 函数

引言:

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

输出结果

EasyX绘制多边形_数组

二、较难打印的多边形

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

举个栗子:打印正五边形

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

输出结果:

EasyX绘制多边形_三角函数_02

三、polygon函数扩展

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

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

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

四、polygon函数和polyline函数对比

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

标签:200,多边形,polygon,EasyX,points,顶点,绘制,函数
From: https://blog.51cto.com/u_15740457/5992156

相关文章

  • MAUI Blazor学习4-绘制BootstrapBlazor.Chart图表
    MAUIBlazor学习4-绘制BootstrapBlazor.Chart图表 MAUIBlazor系列目录MAUIBlazor学习1-移动客户端Shell布局-SunnyTrudeau-博客园(cnblogs.com)MAUIBlazor学......
  • 使用pyecharts.charts绘制中国地图
    今天发现个好玩的东西浅浅的记录一下。frompyecharts.chartsimportMaplables=['湖北','湖南','广东','北京','上海','河南','河北','山东','陕西','山西','四川']count......
  • win32绘图:绘制直线 矩形 圆形 曲线等
    查看代码#include<Windows.h>//画点voidPaintSetPixel(HDChdc){ for(shorti=0;i<20;i++) { SetPixel(hdc,30,30+i,RGB(0,0,255)); }}//......
  • 第八节 起始进近基线转弯保护区的绘制
    飞行程序设计软件实践基线转弯程序保护区绘制是飞行程序设计师的必练科目,尽管现在的软件已经可以全自动的去实现这个功能,但深入了解基线转弯的绘制步骤,对于我们理......
  • 用Python批量绘制二维矩阵
    importnumpyasnpfrommatplotlibimportpyplotaspltimportmatplotlibasmplimportglobdefcreate_4_colorMap():#colors=['blue','cyan','green','p......
  • MAUI Blazor学习3-绘制ECharts图表
    MAUIBlazor学习3-绘制ECharts图表 MAUIBlazor系列目录 MAUIBlazor学习1-移动客户端Shell布局-SunnyTrudeau-博客园(cnblogs.com)MAUIBlazor学习2-创建移动......
  • 第七节 VOR/DME进近程序保护区的绘制
    飞行程序设计软件实践通过前面六节的练习,2023社区版插件的主要功能都已经使用到了。今天通过VOR/DME非精密进近程序,再将这些功能串起来使用一下。今天的软件,我们使......
  • 第六节 FAF与GP不工作保护区的绘制
    飞行程序设计软件实践前一篇文章中,通过风标设计2023插件,我们在CAD中绘制了FAP方式下的精密进近保护区。接着这个话题我们继续来看一下FAF方式下的保护区应该怎......
  • 基于Matlab计算天线阵列方向图和绘制方向图
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 绘制一张透明背景的单色位图
    在上一篇文章中,我留下了一个谜题:如何使用透明背景绘制一张单色位图。今天我们来揭晓谜底。丑话说前头,我不是一名GDI方面的专家,所以,除了下面讲述的两种方法之外,可能还有我......