Annotation of researchv10no/libplot/lib4014/parabola.c, revision 1.1.1.1

1.1       root        1: #include <math.h>
                      2: #include <stdio.h>
                      3: #include "tek.h"
                      4: parabola(x0, y0, x1, y1, xb, yb) 
                      5: double x0, y0, x1, y1, xb, yb; 
                      6: {
                      7:        register double x, y, t;
                      8:        double  c0x, c0y, c1x, c1y;
                      9:        double  dt, d2, d1;
                     10:        d1 = sqrt((xb - x0) * (xb - x0) + (yb - y0) * (yb - y0));
                     11:        d2 = sqrt((xb - x1) * (xb - x1) + (yb - y1) * (yb - y1));
                     12:        if (d1 <= e1->quantum || d2 <= e1->quantum) { 
                     13:                line(x0, y0, x1, y1); 
                     14:                return(0); 
                     15:        }
                     16:        c0x = x0 + x1 - 2. * xb; 
                     17:        c1x = 2. * (xb - x0);
                     18:        c0y = y0 + y1 - 2. * yb; 
                     19:        c1y = 2. * (yb - y0);
                     20:        move(x0, y0);
                     21:        dt = e1->quantum / d1;
                     22:        if(e1->grade != 0.)
                     23:                dt /= e1->grade;
                     24:        for (t = dt; t < 0.5; t += dt) {
                     25:                x = (c0x * t + c1x) * t + x0;
                     26:                y = (c0y * t + c1y) * t + y0;
                     27:                vec(x, y);
                     28:        }
                     29:        dt = e1->quantum / d2;
                     30:        if(e1->grade != 0.)
                     31:                dt /= e1->grade;
                     32:        for (; t < 1.0; t += dt) {
                     33:                x = (c0x * t + c1x) * t + x0;
                     34:                y = (c0y * t + c1y) * t + y0;
                     35:                vec(x, y);
                     36:        }
                     37:        vec(x1, y1);
                     38: }

unix.superglobalmegacorp.com

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