[c]代码库
#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();
}