#include "graphics.h" |
#include "math.h" |
#include "dos.h" |
#include "conio.h" |
#include "stdlib.h" |
#include "stdio.h" |
#include "stdarg.h" |
#define MAXPTS 15 |
#define PI 3.1415926 |
struct PTS |
{ |
int x,y; |
}; |
double AspectRatio=0.85; |
void LineToDemo ( void ) |
{ |
struct viewporttype vp; |
struct PTS points[MAXPTS]; |
int i, j, h, w, xcenter, ycenter; |
int radius, angle, step; |
double rads; |
printf ( " MoveTo / LineTo Demonstration" ); |
getviewsettings ( &vp ); |
h = vp.bottom - vp.top; |
w = vp.right - vp.left; |
xcenter = w / 2; /* Determine the center of circle */ |
ycenter = h / 2; |
radius = ( h - 30 ) / ( AspectRatio * 2 ); |
step = 360 / MAXPTS; /* Determine # of increments */ |
angle = 0; /* Begin at zero degrees */ |
for ( i=0 ; irads = ( double ) angle * PI / 180.0; /* Convert angle to radians */ |
points[i].x = xcenter + ( int ) ( cos ( rads ) * radius ); |
points[i].y = ycenter - ( int ) ( sin ( rads ) * radius * AspectRatio ); |
angle += step; /* Move to next increment */ |
} |
circle ( xcenter, ycenter, radius ); /* Draw bounding circle */ |
for ( i=0 ; ifor ( j=i ; jmoveto ( points[i].x, points[i].y ); /* Move to beginning of cord */ |
lineto ( points[j].x, points[j].y ); /* Draw the cord */ |
} |
} |
} |
main() |
{ |
int driver,mode; |
driver=CGA; |
mode=CGAC0; |
initgraph ( &driver,&mode, "" ); |
setcolor ( 3 ); |
setbkcolor ( GREEN ); |
LineToDemo(); |
} |