每日時訊!EasyX繪制多邊形

2023-01-06 11:32:04 來源:51CTO博客

引言:

在Easyx中,專門給了一個函數繪制多邊形——polygon函數

一、打印較簡單的多邊形

像長方形、正方形、三角形、梯形這些多邊形較容易打印,因為他們的頂點坐標較容易求出。

比如三角形


(資料圖片)

#include#includeint 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#include#include//用到三角函數sin和cos,需要引用數學類頭文件#define PI 3.14//需要使用弧度制,因此需要定義PIint 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就不會,因此形成不封閉圖形。

標簽: 三角函數 三角形頂 正多邊形

上一篇:【世界獨家】嵌入式:AD接口設計
下一篇:秒殺系統設計的5個要點