ဖိုင်:Pinna's illusory intertwining effect.gif

အခြားဘာသာစကားများဖြင့် စာမျက်နှာအကြောင်းအရာများကို ပံ့ပိုးမထားပါ။
This is a file from the Wikimedia Commons
ဝီကီပီးဒီးယား မှ

မူရင်းဖိုင်(၂၀၀၀ × ၂၀၀၀ pixels, ဖိုင်အရွယ်အစား - ၆၄ KB, 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:my:Creative Commons
မှတ်ယူနိုင်ခြင်း ထပ်တူမျှဝေ
ဤဖိုင်ကို Creative Commons Attribution-Share Alike 3.0 Unported လိုင်စင်ဖြင့် သတ်မှတ်ထားသည်။
သင်သည် လွတ်လပ်စွာ:
  • မျှဝေရန် – ဖန်တီးမှုကို ကူးယူရန်၊ ဖြန့်ဖြူးရန်နှင့် ထုတ်လွှင့်ရန်
  • ပြန်ရောနှောရန် – ဖန်တီးမှုကို ပြင်ဆင်ညှိနှိုင်းရန်
အောက်ပါ အခြေအနေများတွင်:
  • မှတ်ယူနိုင်ခြင်း – ပြောင်းလဲမှုများ ပြုလုပ်ခဲ့ပါက ဖန်တီးသူ သို့မဟုတ် လိုင်စင်ရှိသူမှ သတ်မှတ်သော အမျိုးအစားကို လိုက်နာရမည် (ဆိုလိုသည်မှာ သင့်အား သို့မဟုတ် သင့်ဖန်တီးမှုတွင် အသုံးပြုခြင်းအား ထောက်ခံချက်ပေးသည်ဟု မဆိုလိုပါ)။
  • ထပ်တူမျှဝေ – ဤဖန်တီးမှုအား ပြင်ဆင်ခြင်း၊ ပြောင်းလဲခြင်း သို့မဟုတ် ထပ်ဆင့် ဖန်တီးခြင်း ပြုလုပ်ပါက ရရှိလာသော ဖန်တီးမှုကို ဤဖန်တီးမှုနှင့် သို့မဟုတ် ဆင်တူသော လိုင်စင်ဖြင့်သာ ဖြန့်ချိသင့်သည်။

ပုံစာများ

ဤဖိုင်၏ဆိုလိုရင်းကို စာတစ်ကြောင်းရှင်းလင်းချက်ဖြင့် ထည့်သွင်းရန်

Items portrayed in this file

depicts အင်္ဂလိပ်

ဖိုင်မှတ်တမ်း

ဖိုင်ကို ယင်းနေ့စွဲ အတိုင်း မြင်နိုင်ရန် နေ့စွဲ/အချိန် တစ်ခုခုပေါ်တွင် ကလစ်နှိပ်ပါ။

နေ့စွဲ/အချိန်နမူနာပုံငယ်မှတ်တမ်း ဒိုင်မန်းရှင်းများအသုံးပြုသူမှတ်ချက်
ကာလပေါ် ၂၀:၀၀၊ ၇ နိုဝင်ဘာ ၂၀၁၃ ၂၀:၀၀၊ ၇ နိုဝင်ဘာ ၂၀၁၃ ရက်က မူအတွက် နမူနာပုံငယ်၂၀၀၀ × ၂၀၀၀ (၆၄ KB)Jochen BurghardtUser created page with UploadWizard

အောက်ပါ စာမျက်နှာ သည် ဤဖိုင်ကို အသုံးပြုထားသည်:

ဂလိုဘယ် ဖိုင်သုံးစွဲမှု

အောက်ပါ အခြားဝီကီများတွင် ဤဖိုင်ကို အသုံးပြုထားသည်-

မီတာဒေတာ