Init
This commit is contained in:
33
usr.lib/libplot/hp2648/circle.c
Normal file
33
usr.lib/libplot/hp2648/circle.c
Normal file
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
* Copyright (c) 1980 Regents of the University of California.
|
||||
* All rights reserved. The Berkeley software License Agreement
|
||||
* specifies the terms and conditions for redistribution.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)circle.c 1.1 94/10/31 SMI"; /* from UCB 5.1 5/7/85 */
|
||||
#endif not lint
|
||||
|
||||
#include "hp2648.h"
|
||||
|
||||
circle (xc,yc,r)
|
||||
int xc,yc,r;
|
||||
{
|
||||
double costheta,sintheta,x,y,xn;
|
||||
int xi,yi;
|
||||
|
||||
if(r<1){
|
||||
point(xc,yc);
|
||||
return;
|
||||
}
|
||||
sintheta = 1.0/r;
|
||||
costheta = pow(1-sintheta*sintheta,0.5);
|
||||
xi = x = r;
|
||||
yi = y = 0;
|
||||
do {
|
||||
point(xc+xi,yc+yi);
|
||||
xn = x;
|
||||
xi = x = x*costheta + y*sintheta;
|
||||
yi = y = y*costheta - xn*sintheta;
|
||||
} while( ! (yi==0 && xi >= r-1));
|
||||
}
|
||||
Reference in New Issue
Block a user