date and time created 83/11/10 14:12:33 by ralph
authorRalph Campbell <ralph@ucbvax.Berkeley.EDU>
Fri, 11 Nov 1983 06:12:33 +0000 (22:12 -0800)
committerRalph Campbell <ralph@ucbvax.Berkeley.EDU>
Fri, 11 Nov 1983 06:12:33 +0000 (22:12 -0800)
SCCS-vsn: lib/libplot/hp2648/circle.c 4.1

usr/src/lib/libplot/hp2648/circle.c [new file with mode: 0644]

diff --git a/usr/src/lib/libplot/hp2648/circle.c b/usr/src/lib/libplot/hp2648/circle.c
new file mode 100644 (file)
index 0000000..7023611
--- /dev/null
@@ -0,0 +1,27 @@
+#ifndef lint
+static char sccsid[] = "@(#)circle.c   4.1 (Berkeley) %G%";
+#endif
+
+#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));
+}