Annotation of researchv8dc/cmd/map/libmap/perspective.c, revision 1.1

1.1     ! root        1: #include "map.h"
        !             2: 
        !             3: float viewpt;
        !             4: 
        !             5: Xperspective(p, x, y)
        !             6: struct place *p;
        !             7: float *x, *y;
        !             8: {
        !             9:        float r;
        !            10:        if(viewpt<=1. && p->nlat.s<=viewpt+.01)
        !            11:                return(-1);
        !            12:        r = p->nlat.c*(viewpt - 1.)/(viewpt - p->nlat.s);
        !            13:        *x = - r*p->wlon.s;
        !            14:        *y = - r*p->wlon.c;
        !            15:        if(r>4.)
        !            16:                return(0);
        !            17:        if(fabs(viewpt)>1. && p->nlat.s<=1./viewpt)
        !            18:                return(0);
        !            19:        return(1);
        !            20: }
        !            21: 
        !            22: Xstereographic(p, x, y)
        !            23: struct place *p;
        !            24: float *x, *y;
        !            25: {
        !            26:        viewpt = -1;
        !            27:        return(Xperspective(p, x, y));
        !            28: }
        !            29: 
        !            30: int (*perspective(radius))()
        !            31: float radius;
        !            32: {
        !            33:        extern Xorthographic();
        !            34:        viewpt = radius;
        !            35:        if(radius>=1000.)
        !            36:                return(Xorthographic);
        !            37:        if(fabs(radius-1.)<.0001)
        !            38:                exit(1);
        !            39:        return(Xperspective);
        !            40: }
        !            41: 
        !            42: int (*stereographic())()
        !            43: {
        !            44:        viewpt = -1.;
        !            45:        return(Xperspective);
        !            46: }
        !            47: 
        !            48: int (*gnomonic())()
        !            49: {
        !            50:        viewpt = 0.;
        !            51:        return(Xperspective);
        !            52: }

unix.superglobalmegacorp.com

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