Annotation of 43BSD/usr.lib/libplot/hp2648/circle.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1980 Regents of the University of California.
                      3:  * All rights reserved.  The Berkeley software License Agreement
                      4:  * specifies the terms and conditions for redistribution.
                      5:  */
                      6: 
                      7: #ifndef lint
                      8: static char sccsid[] = "@(#)circle.c   5.1 (Berkeley) 5/7/85";
                      9: #endif not lint
                     10: 
                     11: #include "hp2648.h"
                     12: 
                     13: circle (xc,yc,r)
                     14: int xc,yc,r;
                     15: {
                     16:        double costheta,sintheta,x,y,xn;
                     17:        int xi,yi;
                     18: 
                     19:        if(r<1){
                     20:                point(xc,yc);
                     21:                return;
                     22:        }
                     23:        sintheta = 1.0/r;
                     24:        costheta = pow(1-sintheta*sintheta,0.5);
                     25:        xi = x = r;
                     26:        yi = y = 0;
                     27:        do {
                     28:                point(xc+xi,yc+yi);
                     29:                xn = x;
                     30:                xi = x = x*costheta + y*sintheta;
                     31:                yi = y = y*costheta - xn*sintheta;
                     32:        } while( ! (yi==0 && xi >= r-1));
                     33: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.