Սկզբնական նիշք(2000 × 2000 փիքսել, նիշքի չափը՝ 64 ԿԲ, MIME-տեսակը՝ image/gif)

Այս նիշքը տեղադրված է Վիքիպահեստում է և այն կարող է օգտագործվել այլ նախագծերի կողմից։ Վիքիպահեստում նիշքի մասին տեղեկությունների հիմնական մասը ներկայացված է ստորև։

Ամփոփում

Նկարագրում
English: Pinna's illusory intertwining effect, described in Pinna, B., Gregory, R.L. (2002). "Shifts of Edges and Deformations of Patterns". Perception 31: 1503-1508. and Pinna illusion (scholarpedia) Actually, the circles are concentric.
Թվական
Աղբյուր Բեռնողի սեփական աշխատանք
Հեղինակ Jochen Burghardt
Source code
typedef int xT;                      /* x coordinate */
typedef int yT;                      /* y coordinate */

#define pmWd            ((xT)2000)
#define pmHg            ((yT)2000)
#define pmX0            ((xT)pmWd/2)
#define pmY0            ((yT)pmHg/2)

static Pixmap pm;
static GC gcBlack;
static GC gcWhite;
static GC gcGrey;

static inline void rotatePoint(
    xT *xd,
    yT *yd,
    double al,
    xT xs,
    yT ys) 
{
    double const s = sin(al);
    double const c = cos(al);

    *xd = (xT)(xs * c - ys * s); 
    *yd = (yT)(xs * s + ys * c); 
}

static inline void doPinnaCircles(void)
{
    /* circle radiuses */
    double const rMin = 300.0;
    double const rInc = 200.0;
    double const rMax = 950;
    double r;
    /* square side length */
    double const S = 100.0;
    double const s = S * 0.7;
    double alInc = 2 * M_PI * 15 / 360;
    int i;

    XFillRectangle(dpy,pm,gcGrey,0,0,pmWd,pmHg);
    for (r=rMin; r <=rMax; r+=rInc) {
        /* currect radius such that an integer multiple of squares fits */
        double const p  = 2.0 * M_PI * r;
        int const cnt = floor(p/S/2.0) * 2;
        double const pc = cnt * S;
        xT const rc = (xT)(pc / 2.0 / M_PI);
        alInc = - alInc;
        for (i=0; i<cnt; i+=1) {
            /* angle to midpoint of i.th square */
            double const Al = 2.0 * M_PI * i / cnt;
            /* mid point of i.th square */
            xT const xx = pmX0 + (xT)(sin(Al) * rc);
            yT const yy = pmY0 + (yT)(cos(Al) * rc);
            /* edge angle of i.th square */
            double const al = Al + alInc;
            xT xa, xb, xc, xd;
            yT ya, yb, yc, yd;
            rotatePoint(&xa,&ya,-al,+s/2.0,+s/2.0);
            rotatePoint(&xb,&yb,-al,-s/2.0,+s/2.0);
            rotatePoint(&xc,&yc,-al,-s/2.0,-s/2.0);
            rotatePoint(&xd,&yd,-al,+s/2.0,-s/2.0);
            GC const gc = (i % 2 == 0 ? gcWhite : gcBlack);
            XDrawLine(dpy,pm,gc,xx+xa,yy+ya,xx+xb,yy+yb);
            XDrawLine(dpy,pm,gc,xx+xb,yy+yb,xx+xc,yy+yc);
            XDrawLine(dpy,pm,gc,xx+xc,yy+yc,xx+xd,yy+yd);
            XDrawLine(dpy,pm,gc,xx+xd,yy+yd,xx+xa,yy+ya);
        }
    }

    XImage * const im = XGetImage(dpy,pm,0,0,pmWd,pmHg,-1,ZPixmap);
    writePpmFile(stdout,"",im);                           /* library function to print XImage to FILE*, code not included here */
}

/* main() initializes Pixmap pm, and GC gcBlack, gcWhite, gcGrey using library functions, then calls doPinnaCircles(), code not included here */

Արտոնագրում

Ես, սույն աշխատանքի հեղինակային իրավունքների տերը, այսուհետ այն հրատարակում եմ հետևյալ արտոնագրի ներքո։
w:en:Creative Commons
հղում համանման տարածում
Այս նիշքը հասանելի է Creative Commons Attribution-Share Alike 3.0 Unported արտոնագրի ներքո:
Դուք ազատ եք՝
  • կիսվել ստեղծագործությամբ – պատճենել, տարածել և փոխանցել այս աշխատանքը։
  • վերափոխել – ադապտացնել աշխատանքը
Պահպանելով հետևյալ պայմանները'
  • հղում – Դուք պետք է նշեք հեղինակի (իրավատիրոջ) հղումը:
  • համանման տարածում – Եթե դուք ձևափոխում եք, փոխակերպում, կամ այս աշխատանքի հիման վրա ստեղծում եք նոր աշխատանք, ապա ձեր ստեղծածը կարող է տարածվել միայն նույն կամ համարժեք թույլատրագրով։

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

պատկերված

14 Հուլիսի 2013

Նիշքի պատմություն

Մատնահարեք օրվան/ժամին՝ նիշքի այդ պահին տեսքը դիտելու համար։

Օր/ԺամՄանրապատկերՕբյեկտի չափըՄասնակիցՄեկնաբանություն
ընթացիկ20:00, 7 Նոյեմբերի 201320:00, 7 Նոյեմբերի 2013 տարբերակի մանրապատկերը2000 × 2000 (64 ԿԲ)Jochen BurghardtUser created page with UploadWizard

Հետևյալ էջը հղվում է այս նիշքին՝

Նիշքի համընդհանուր օգտագործում

Հետևյալ այլ վիքիները օգտագործում են այս նիշքը՝

Մետատվյալներ