// do some graphics using the WinBgi package from:
// http://csci.biola.edu/csci105/using_winbgi.html
//
// for Dev-C++ you need to fix graphics2.h and WinBgi2.cpp
// do change unsigned int getpixel() to int getpixel()
//
// have WinBgi2.cpp in the working folder and add to project
// have graphics2.h in the working folder
// link with libgdi32.a
// this Dev-C++ project is a Console Application
#include <cstdio>
#include <cmath>
#include "graphics2.h"
using namespace std;
int main()
{
int GraphDriver = 0, GraphMode = 0;
// create graph window frame
initgraph(&GraphDriver, &GraphMode, "", 640, 480);
// first draw two ellipses and a line ...
setcolor(CYAN);
setlinestyle(SOLID_LINE, 0, 2); // 2 pixels wide
//** ellipse(int x,int y,int sa,int ea,int rx,int ry)
//** center = x, y
//** sa = start of arc (0 to 360 degrees)
//** ea = end of arc
//** rx = length of horizontal axis (radius)
//** ry = length of vertical axis (radius)
ellipse(320, 150, 0, 360, 150, 20);
setcolor(LIGHTGREEN);
setlinestyle(SOLID_LINE, 0, 3); // 3 pixels wide
ellipse(320, 150, 0, 360, 40, 90);
setcolor(LIGHTRED);
setlinestyle(SOLID_LINE, 0, 2);
// line(int x1, int y1, int x2, int y2)
line(20, 300, 600, 300);
setcolor(YELLOW);
settextstyle(DEFAULT_FONT, HORIZ_DIR, 2);
outtextxy(20, 320, "Press any key ... ");
getch(); // wait
// now draw some fancy lines ...
int x, y;
int spokes = 6; // triangle = 3, more complex > 3
double radians;
setcolor(GREEN);
radians = 360 / (spokes * 57.29578);
for (x = 1; x <= spokes; x++)
{
for (y = x; y <= spokes; y++)
{
line((int)(sin(y * radians) * 225 + 320),(int)(cos(y * radians) * 145 + 150),
(int)(sin(x * radians) * 225 + 320),(int)(cos(x * radians) * 145 + 150));
}
}
outtextxy(20,320,"Press any key ... ");
getch(); // wait
closegraph();
return 0;
}