陷入EasyX的大坑,这个代码感受了一下数学之美,继续静下心来,好好利用暑假时间,好好学习。
/* 多边形 */
#include<graphics.h>
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#include<math.h>
#define maxPointNum 360
#define screenSize 640
#define R 300
void showShape(int pointNum)
{
int i,j,middle;
double eachAngle,beginAngle,rgPolygon[2][maxPointNum];
//判断是否为偶数正多边形
eachAngle = 360/ pointNum;
eachAngle = eachAngle * 3.141593 / 180;
if(pointNum%2 == 0)
{
beginAngle = eachAngle/2;
}
else
{
beginAngle = 3.141593 / 2;
}
middle = screenSize / 2;
//给每个点添加坐标
rgPolygon[0][0] = middle + R * cos(beginAngle);
rgPolygon[1][0] = middle - R * sin(beginAngle);
for(i=1;i<pointNum;i++)
{
eachAngle = beginAngle + i * 2 * 3.141593 / pointNum; //角度增幅
rgPolygon[0][i] = middle + R * cos(eachAngle);
rgP