已经安装了easyx,希望可以帮改一下代码中的错误。
用如下图1所示,图中最大正n边形的外接圆半径为R,旋转该正n边形,每次旋转 角度,旋转后的的n边形顶点落在前一个正六边形的边上,共旋转N次,请上机编程绘制N+1个外接圆半径逐渐缩小且旋转的正n边形。要求:(1)n、R、N、 要求可以人为自由控制输入;(2)N+1个正六边形的中心(即外接圆的圆心)在显示屏幕中心。
下面是使用 graphics.h
画钻石模型的示例代码:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <math.h>
void draw_diamond(int x, int y, int l);
int main()
{
int gd = DETECT, gm;
initgraph(&gd, &gm, "");
int x = getmaxx() / 2;
int y = getmaxy() / 2;
int l = 200;
draw_diamond(x, y, l);
getch();
closegraph();
return 0;
}
void draw_diamond(int x, int y, int l)
{
int x1 = x;
int y1 = y - l / 2;
int x2 = x + l / 2;
int y2 = y;
int x3 = x;
int y3 = y + l / 2;
int x4 = x - l / 2;
int y4 = y;
line(x1, y1, x2, y2);
line(x2, y2, x3, y3);
line(x3, y3, x4, y4);
line(x4, y4, x1, y1);
}
运行代码后,可在屏幕中央画出一个边长为 200
的钻石模型。如果需要画出其他大小的钻石模型,仅需修改 draw_diamond
函数的参数即可。