Keresés

Részletes keresés

as3yo Creative Commons License 2015.02.05 0 0 1064

"Ha csak siman osszeadom a komplex amplitudokat, akkor ugyan megkapom az elektron elemi anyaghullamait,  de a beloluk felepulo hullamcsomag mindig c-vel megy."

 

Lehet hogy ez nem is hiba, hanem ez a fotonhoz rendelhető hullám.

 

Az időben visszaverődő hullámot pedig helyettesíteni lehetne egy olyan hullámmal, ami a múltból jön, és a múltban az elektron által rezgésbe hozott elektronokról verődik vissza.

Ez az Univerzum válasz-hulláma.

 

(az EPR miatt ez a megoldás nem tűnik helyesnek, de egy próbát megér.)

Előzmény: qescson (583)
as3yo Creative Commons License 2015.02.05 0 0 1063

"Nos, az utolso bekezdes nem igaz minden szempontbol. Ugyanis Dirac mar kitalalt egy elektron-tengernek nevezett valamit. Itt a teret kimutathatatlan elektronok toltik ki. Magyarul ahol mi egyetlen elektront latunk, nem biztos hogy tenyleg csak egy van."

 

Erről megint eszembe jutott egy érdekes felállás. Nem hiszem hogy helyes, de érdemes elgondolkozni kissé rajta.

Szó volt arról, hogy az elektron anyaghullámát fel lehet építeni egy időben előre-és visszafele haladó hullámból. Mi van akkor, ha az időben vissszafele haladó rész valójában "fake time reversal wave"?

Előzmény: qescson (603)
as3yo Creative Commons License 2015.02.04 0 0 1062

Az elektron ellenben terjedhetne ezen a módon. Talán még az elektronhoz rendelhető anyaghullám is levezethető így.

 

as3yo Creative Commons License 2015.02.04 0 0 1061

Fotonra nem igazán jó, mert asszimetrikus a hullám.

 

as3yo Creative Commons License 2015.02.04 0 0 1060

Vagy egy szimuláció a világunk, de ez nem fizikai megoldás, ezért ezen nem és érdemes sokat filózni.

Lehetne úgy is, de ezzel nem lehet kezdeni semmi. A tervező azzal etet be minket amivel akar.

Előzmény: as3yo (1053)
as3yo Creative Commons License 2015.02.04 0 0 1059

"Ez viszont annyit jelent, hogy a fotont nem egyetlen atom sugározza ki."

 

Mondhatnánk, hogy az elektron az csak egy gerjesztett állapota a fermion-mezőnek, így valójában a fotont az egész mező generálja.

De akkor se tiszta a dolog, hiszen egy atomi elektron jól lokalizálható.

 

Arról nem is beszélve, hogy ez a mező jelenlegi elgondolások szerint csak egy matematikai segédeszköz.

Előzmény: as3yo (1049)
as3yo Creative Commons License 2015.02.04 0 0 1058

Meglepő, de erre is ki lehet találni egy elméletet.

Egyetlen megkötés kell csak, az univerzum időben zárt legyen.

 

Tegyük fel, hogy egy atomi elektron kisugároz egy hullámot. Ez szétterjed az univerzumban.

Az összes többi atomi elektron rezgésbe jön, és tovább sugározza a hullámot az időben előre. A keletkező hullám egy pont fele fog menni, de az idő(az univerzum halála) vége felé.

Amennyiben az univerzum zárt, akkor az univerzum vége egyben a kezdete is. Ekkor a hullámok áthaladnak az ősrobbanás pillanatán, és újra egy pontban fognak találkozni,

 

Itt a probléma a megfelelő időzítés. Bár lehet, hogy nem is probléma..

 

Előzmény: as3yo (1057)
as3yo Creative Commons License 2015.02.04 0 0 1057

Az emberek többsége azt gondolja. hogy az időben visszafele haladó hullám az egy fantazmagória.Nos amit olvasható, nem az.

Amit fontos itt megemlíteni, ez a hullám nem akkor éri el a forrást, amikor az kisugározza a hullámot. Ilyen értelemben nem halad visszafele az időben. De matematikai leírása ugyan az, mint az időben visszafele haladó hullámnak, és most csak ez a lényeg.

 

Mire jó ez most? Könyebb elképzelni egy ilyen hullámot. Valójában csak annyit kell tenni, hogy a forrás körül szinkronizált hullámforrásokkal hullámot kell kelteni. Az eredő hullám körkörösen indul, és egy pont fele fog haladni. Pont ilyen egy időben visszafele haladó hullám is.

 

A kérdés az, hogy lehet-e a Feynman-Wheeler megoldást is ilyen "fake-time reversal wave"-vel helyettesíteni.

Előzmény: as3yo (1056)
as3yo Creative Commons License 2015.02.04 0 0 1056

Na ezt kerestem

"Because the wave precisely retraces its original path as it travels back to its source, its mathematical description is reversed in time but is otherwise exactly the same."

http://phys.org/news/2012-08-physicists-reversal.html

 

as3yo Creative Commons License 2015.02.04 0 0 1055
as3yo Creative Commons License 2015.02.04 0 0 1054

Ezzel az előre-hátra haladó hullámokkal a legnagyobb gond, hogy se elképzelni, se leszimulálni nem egyszerű.

Vegyünk egy gömbszerűen szétterjedő hullámfrontot.Körülötte szórjunk szét rezonátorokat, amelyek időben visszafele hatnak a forrásra.

Az ember azt gondolná naívan, hogy a hullám minden irányba egyformán fog haladni. Márpedig nem. Az elnyelő rezonátor meg fogja változtatni a kisugárzás szimmetriáját. Lehet hogy a sugárzás csak egyetlen rezonátoron fog elnyelődni.

Miért mondom hogy lehet? Mert eddig ezt nem sikerült modelleznem. De sejtésem szerint ez így lenne.

Előzmény: as3yo (1051)
as3yo Creative Commons License 2015.02.04 0 0 1053

"ahhoz a forrás összes pontjáról kell hullámot indítanom."

 

Most fel lehetne hozni a Multiverzum elméletet.Azzal is lehetne magyarázni ezt a jelenséget.

De a Multiverzum fogalma nekem sántít.

Ugyanis számomra az univerzum az összes megtapasztalható dolgot jelenti. Ha egy hullámjelenséget tapasztalok, akkor annak az okának ebben az univerzumban kell lennie.

Ha egy másikban lenne az ok, akkor az nem hathatna erre az univerzumra.

Számomra ennek így van értelme.

 

Persze minden csak a definiciótól függ. Hogy én így gondolom, az igazából a mainstream fizikát nem nagyon érdekli.

Előzmény: as3yo (1049)
as3yo Creative Commons License 2015.02.01 0 0 1052
as3yo Creative Commons License 2015.02.01 0 0 1051
as3yo Creative Commons License 2015.02.01 0 0 1050

Mivel a hullámból számolom a foton megjelenési valószínűségét, a második mondat nonszensz.

Az első meg teljesen értelmetlennek tűnik.

Most csak egyetlen megoldást látok rá, a hullám egyetlen pontból indul, de visszafele az időben.

Bár ez se hangzik túl értelmesen. xD

 

Előzmény: as3yo (1049)
as3yo Creative Commons License 2015.02.01 0 0 1049

Egy elég érdekes dologra jöttem rá nemrég. Igazából mindig is tudtam hogy így van de valahogy nem tudatosult bennem, mit is jelent ez.

 

A lézer fényéről van szó.

Haladjon a foton úgy, mint a nemrég linkelt képen.

Hogy a foton megjelenési valószínűségét helyesen megkapjam, ahhoz a forrás összes pontjáról kell hullámot indítanom. Ez viszont annyit jelent, hogy a fotont nem egyetlen atom sugározza ki.

Vagy a hullámnak semmi köze a fotonhoz.

 

 

Előzmény: as3yo (1048)
as3yo Creative Commons License 2015.02.01 0 0 1048

Néhány érdekesség a fotonról.

 

11.1.12 Impossibility of absorption of photons by free-electrons.:

"Therefore, there is no photon and the absorption process is impossible"

 

https://math.temple.edu/~prisebor/Advanced.pdf

 

as3yo Creative Commons License 2015.02.01 0 0 1047

A függőleges irány az idő. Egy fotonból kettő lesz.

2 subquarkból 4. Ezekből a középső viszi az információt át a másik oldalra.

Mivel ennek az iránya véletlenszerű, és van még egy 2 másik subquark, amiatt nem építhető időgép. (ezzel a felállással)

 

aseyo Creative Commons License 2015.01.31 0 0 1046

A jelenleg elfogadott foton-modellel az időbeli tükröződés megoldása nehézkes.

Egy foton ketté válik

http://en.wikipedia.org/wiki/Spontaneous_parametric_down-conversion

 

Ha az egyik foton visszafele halad az időben akkor a másik a visszaverődő része.

De mi van az eredeti fotonnal, ami kettévált? Az nem verődhetett vissza.

 

Ellenben a subquark modell máshogy írja le a helyzetet. Az eredeti foton két összetevőből (subquarkból) áll. Az egyik megy jobbra a másik balra. De mindkét oldalba becsatlakozik egy másik subquark. Itt csak ez megy oda-vissza az időben.

m0kus Creative Commons License 2015.01.13 0 0 1045

Továbbá ha úgy számolok, hogy a két detektornál merőleges a fotonok polarizációja, semmilyen variációban nincs helyes megoldás. Legtöbb esetben irreálisan éles az interferencia, és olyankor is van, amikor nem kellene.

 

Tehát jelenleg egyetlen megoldás van a kisérletre, a legutolsó szimuláció.

 

Előzmény: m0kus (1042)
m0kus Creative Commons License 2015.01.13 0 0 1044

A BBO kristály kiválasztott pontjai horizontálisan és vertikálisan polarizált fotonkat sugároznak, emiatt így helyesebb a szimuláció.

De az eredmény mindkét esetben helyes, ha időbeli visszahatással számolunk,

 

#if 0
            double photon_pol_a=M_PI*2*doublerand();
            double photon_pol_b=photon_pol_a+M_PI/2;
#else            
            double photon_pol_a=0; //polarized lightsource
            if(doublerand()>0.5) photon_pol_a=M_PI/2;
            double photon_pol_b=photon_pol_a+M_PI/2;
//           if(doublerand()>0.5) photon_pol_b=photon_pol_a-M_PI/2;
#endif

Előzmény: m0kus (1040)
m0kus Creative Commons License 2015.01.11 0 0 1043

Ezt a részt azért hagytam benne, hogy ellenőrízni lehessen a QWP helyes működését.

+-45 foknál cirkulárisan polarizált lesz, alatta elliptikus. Az előjelcsere megfordítja a forgási irányt, vagyis helyes a szimuláció.


        double dist1=0.0;
        for(int p=0;p<1000;p++)//quarterwaveplate
        {
            vec2d amp_dp,amp_ds;
            add_quarterwaveplate(&amp_ds,0.0/radian , dist1*M_PI/100.0,-45.0/radian,0.5, 0.5,0.0);

            line(200,200,200+200.0*amp_ds.x,200+200.0*amp_ds.y,0x00ff00);
            dist1+=5.0;
            
            XFlush(dpy);
            getchar();
        }

 

 

Előzmény: m0kus (1040)
m0kus Creative Commons License 2015.01.11 0 0 1042

Ugye a programban van egy látszólagos apró hiba. A két foton nem a detektoroknál merőleges egymásra, hanem a radírnál, és a QWP-nél.

Lehet, hogy ez egy hiba, de szerintem nem az.

 

Ugyanis ki lehet próbálni, mi van akkor, ha a méréskor merőlegesek egymásra a fotonok. Csak ennyit kell betenni ..

amp_dp.x= amp_ds.y;

amp_dp.y=-amp_ds.x;

...ez elé a sor elé..

   if(eraser_on) add_polarizer(&amp_dp,eraser_alpha);// polarizer before Dp

 

Ugyan működik a radír, de az amplitudó így túl kicsi lesz minden esetben.

 

Előzmény: m0kus (1040)
m0kus Creative Commons License 2015.01.11 0 0 1041

így már sokkal jobb.

Négy eset lehetséges a szubkvarkoknak megfelelően.

m0kus Creative Commons License 2015.01.11 0 0 1040


#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <X11/Xlib.h>


Display *dpy;
Window win;
GC gc;
double radian=(180.0/M_PI);


void pixel(int x,int y,int color)
{
    XSetForeground(dpy,gc,color);
    XDrawPoint(dpy, win, gc, x,y);
}
void line(int x1,int y1,int x2,int y2,int color)
{
    XSetForeground(dpy,gc,color);
    XDrawLine(dpy, win, gc, x1,y1,x2,y2);
}
double sqr(double n) // x^2
{
    return n*n;
}
double doublerand() //random szam  0.0-tol 1.0-ig
{
    return (double)(rand()%10000)/10000.0;
}



struct vec2d
{
    double x,y;
    
    vec2d() {x=0;y=0;}
};
void add_amp(vec2d *v,double phase,double ax,double ay)
{
    v->x += sin(phase)*ax;
    v->y += cos(phase)*ay;
};
void add_polarizer(vec2d *v,double phase)
{
    v->x *= sin(phase);
    v->y *= cos(phase);
};
double dot(vec2d *v1,vec2d *v2)
{
    return v1->x*v2->x + v1->y*v2->y;
}
void add_quarterwaveplate(vec2d *v,double phase,double dist,double qwp,double ax,double ay,double dphase)
{
    vec2d axis_fast,axis_slow,input_wave;
    
    add_amp(&axis_fast,qwp,1.0,1.0);
    add_amp(&axis_slow,qwp+90.0/radian,1.0,1.0);
    add_amp(&input_wave,phase,1.0,1.0);

    double amp_fast=dot(&axis_fast,&input_wave);
    double amp_slow=dot(&axis_slow,&input_wave);
    
    amp_fast=cos(dist+dphase)*amp_fast;
    amp_slow=sin(dist+dphase)*amp_slow;//-+90 phase shift
    
    v->x += (axis_fast.x*amp_fast + axis_slow.x*amp_slow)*ax;
    v->y += (axis_fast.y*amp_fast + axis_slow.y*amp_slow)*ay;
};
double probalbility(vec2d *v)
{
    return (sqr(v->x) + sqr(v->y));
}


int main()
{
    dpy = XOpenDisplay(0);
    win = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 0,0, 800, 550, 0,0,0);
    
    XSelectInput(dpy, win, StructureNotifyMask);
    XMapWindow(dpy, win);
    gc = XCreateGC(dpy, win, 0, 0);
    
    for(;;) { XEvent e; XNextEvent(dpy, &e); if (e.type == MapNotify) break; }



    for(int x=0;x<400;x++)    
    {
        pixel(x,500,0x008800);
        pixel(x,300,0x008800);
        pixel(x,100,0x008800);
    }
    
    

    for(int ds_x=0;ds_x<400;ds_x++)//Ds position  -+4mm    
    {
        int photon_counter=0;
        int maxphoton=600;
        int maxwide=10;

        int qwplate_on=0;
        int eraser_on=0;
        double eraser_alpha=0*45.0/radian;//0,1,2

//        if(eraser_on) maxphoton*=4;//lathatosag
        
        
        for(int p=0;p<maxphoton;p++)// max number of photon
        {
            double dphase=M_PI*2*doublerand();
#if 1
            double photon_pol_a=M_PI*2*doublerand();
            double photon_pol_b=photon_pol_a+M_PI/2;
#else            
            double photon_pol_a=0; //polarized lightsource
            if(doublerand()>0.5) photon_pol_a=M_PI/2;
            double photon_pol_b=photon_pol_a+M_PI/2;
            if(doublerand()>0.5) photon_pol_b=photon_pol_a-M_PI/2;
#endif


            double ds_distance=1250.0-420.0;//mm  125-42 cm
            double dp_distance=980.0; //98 cm
            double wavelength=702.2e-6;//mm      e-9m
            double k=2.0*M_PI/wavelength;
            vec2d amp_dp,amp_ds;

            if(eraser_on)
            {
                if(doublerand()>0.5)
                {
                    photon_pol_a=eraser_alpha;//backward causality
                    photon_pol_b=eraser_alpha+90.0/radian;
                }
                else                 
                {
                    photon_pol_a=eraser_alpha+90.0/radian;
                    photon_pol_b=eraser_alpha;
                }
            }


            double hole_dist=0.2;//0.2
            double hole_wide=0.2;//200 micrometer wide   
            double ds_pos=4.0*(double)(ds_x-200)/200.0;//+-4mm     Ds position
            int side=rand()%4;

            for(int w=0;w<maxwide;w++)//slit wide
            {
                double hole1x=hole_dist/2.0 + hole_wide*(double)w/maxwide;//hole
                double hole2x=-hole_dist/2.0 - hole_wide*(double)w/maxwide;
                double dist1=sqrt(sqr(ds_pos - hole1x) + sqr(ds_distance));
                double dist2=sqrt(sqr(ds_pos - hole2x) + sqr(ds_distance));    


                if(qwplate_on)
                {
                    if(side==0)
                    {
                    add_amp(&amp_dp,photon_pol_a ,0.5,0.5);
                    add_amp(&amp_dp,photon_pol_a ,0.5,0.5);

                    add_quarterwaveplate(&amp_ds,photon_pol_b , dist1*k,-45.0/radian,0.5, 0.5,dphase);
                    add_quarterwaveplate(&amp_ds,photon_pol_b , dist2*k, 45.0/radian,0.5, 0.5,dphase);
                    }
                    if(side==1)
                    {
                    add_amp(&amp_dp,photon_pol_b ,0.5,0.5);
                    add_amp(&amp_dp,photon_pol_b ,0.5,0.5);

                    add_quarterwaveplate(&amp_ds,photon_pol_a , dist1*k,-45.0/radian,0.5, 0.5,dphase);
                    add_quarterwaveplate(&amp_ds,photon_pol_a , dist2*k, 45.0/radian,0.5, 0.5,dphase);
                    }
                    if(side==2)
                    {
                    add_amp(&amp_dp,photon_pol_a ,0.5,0.5);
                    add_amp(&amp_dp,photon_pol_b ,0.5,0.5);

                    add_quarterwaveplate(&amp_ds,photon_pol_a , dist1*k,-45.0/radian,0.5, 0.5,dphase);
                    add_quarterwaveplate(&amp_ds,photon_pol_b , dist2*k, 45.0/radian,0.5, 0.5,dphase);
                    }
                    if(side==3)
                    {
                    add_amp(&amp_dp,photon_pol_b ,0.5,0.5);
                    add_amp(&amp_dp,photon_pol_a ,0.5,0.5);

                    add_quarterwaveplate(&amp_ds,photon_pol_b , dist1*k,-45.0/radian,0.5, 0.5,dphase);
                    add_quarterwaveplate(&amp_ds,photon_pol_a , dist2*k, 45.0/radian,0.5, 0.5,dphase);
                    }
                }
                else
                {
                    if(side==0)
                    {
                    add_amp(&amp_dp,photon_pol_a ,0.5,0.5);
                    add_amp(&amp_dp,photon_pol_a ,0.5,0.5);
                    add_amp(&amp_ds,photon_pol_b +dist1*k ,0.5,0.5);
                    add_amp(&amp_ds,photon_pol_b +dist2*k ,0.5,0.5);
                    }
                    if(side==1)
                    {
                    add_amp(&amp_dp,photon_pol_b ,0.5,0.5);
                    add_amp(&amp_dp,photon_pol_b ,0.5,0.5);
                    add_amp(&amp_ds,photon_pol_a +dist1*k ,0.5,0.5);
                    add_amp(&amp_ds,photon_pol_a +dist2*k ,0.5,0.5);
                    }
                    if(side==2)
                    {
                    add_amp(&amp_dp,photon_pol_a ,0.5,0.5);
                    add_amp(&amp_dp,photon_pol_b ,0.5,0.5);
                    add_amp(&amp_ds,photon_pol_a +dist1*k ,0.5,0.5);
                    add_amp(&amp_ds,photon_pol_b +dist2*k ,0.5,0.5);
                    }
                    if(side==3)
                    {
                    add_amp(&amp_dp,photon_pol_b ,0.5,0.5);
                    add_amp(&amp_dp,photon_pol_a ,0.5,0.5);
                    add_amp(&amp_ds,photon_pol_b +dist1*k ,0.5,0.5);
                    add_amp(&amp_ds,photon_pol_a +dist2*k ,0.5,0.5);
                    }
                }
            }
            if(eraser_on) add_polarizer(&amp_dp,eraser_alpha);// polarizer before Dp
            
            amp_dp.x/=maxwide;//normalized
            amp_dp.y/=maxwide;
            amp_ds.x/=maxwide;
            amp_ds.y/=maxwide;


            if((probalbility(&amp_dp))>doublerand())
            if((probalbility(&amp_ds))>doublerand())
                photon_counter+=1;
        }
        pixel(ds_x,500-photon_counter,0xffff00);
    }

/*
        double dist1=0.0;
        for(int p=0;p<1000;p++)//quarterwaveplate
        {
            vec2d amp_dp,amp_ds;
            add_quarterwaveplate(&amp_ds,0.0/radian , dist1*M_PI/100.0,-45.0/radian,0.5, 0.5,0.0);

            line(200,200,200+200.0*amp_ds.x,200+200.0*amp_ds.y,0x00ff00);
            dist1+=5.0;
            
            XFlush(dpy);
            getchar();
        }*/

    XFlush(dpy);
    getchar();
        
    return 0;
}

m0kus Creative Commons License 2015.01.10 0 0 1039

Ki lehet próbálni, a Ds-en önmagában nincs interferencia.

Előzmény: m0kus (1038)
m0kus Creative Commons License 2015.01.10 0 0 1038

m0kus Creative Commons License 2015.01.10 0 0 1037



#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <X11/Xlib.h>


Display *dpy;
Window win;
GC gc;
double radian=(180.0/M_PI);


void pixel(int x,int y,int color)
{
    XSetForeground(dpy,gc,color);
    XDrawPoint(dpy, win, gc, x,y);
}
void line(int x1,int y1,int x2,int y2,int color)
{
    XSetForeground(dpy,gc,color);
    XDrawLine(dpy, win, gc, x1,y1,x2,y2);
}
double sqr(double n) // x^2
{
    return n*n;
}
double doublerand() //random szam  0.0-tol 1.0-ig
{
    return (double)(rand()%10000)/10000.0;
}



struct vec2d
{
    double x,y;
    
    vec2d() {x=0;y=0;}
};
void add_amp(vec2d *v,double phase,double ax,double ay)
{
    v->x += sin(phase)*ax;
    v->y += cos(phase)*ay;
};
void add_polarizer(vec2d *v,double phase)
{
    v->x *= sin(phase);
    v->y *= cos(phase);
};
double dot(vec2d *v1,vec2d *v2)
{
    return v1->x*v2->x + v1->y*v2->y;
}
void add_quarterwaveplate(vec2d *v,double phase,double dist,double qwp,double ax,double ay,double dphase)
{
    vec2d axis_fast,axis_slow,input_wave;
    
    add_amp(&axis_fast,qwp,1.0,1.0);
    add_amp(&axis_slow,qwp+90.0/radian,1.0,1.0);
    add_amp(&input_wave,phase,1.0,1.0);

    double amp_fast=dot(&axis_fast,&input_wave);
    double amp_slow=dot(&axis_slow,&input_wave);
    
    amp_fast=cos(dist+dphase)*amp_fast;
    amp_slow=sin(dist+dphase)*amp_slow;//-+90 phase shift
    
    v->x += (axis_fast.x*amp_fast + axis_slow.x*amp_slow)*ax;
    v->y += (axis_fast.y*amp_fast + axis_slow.y*amp_slow)*ay;
};
double probalbility(vec2d *v)
{
    return (sqr(v->x) + sqr(v->y));
}


int main()
{
    dpy = XOpenDisplay(0);
    win = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 0,0, 800, 550, 0,0,0);
    
    XSelectInput(dpy, win, StructureNotifyMask);
    XMapWindow(dpy, win);
    gc = XCreateGC(dpy, win, 0, 0);
    
    for(;;) { XEvent e; XNextEvent(dpy, &e); if (e.type == MapNotify) break; }



    for(int x=0;x<400;x++)    
    {
        pixel(x,500,0x008800);
        pixel(x,300,0x008800);
        pixel(x,100,0x008800);
    }
    
    

    for(int ds_x=0;ds_x<400;ds_x++)//Ds position  -+4mm    
    {
        int photon_counter=0;
        int maxphoton=400;
        int maxwide=10;

        int qwplate_on=1;
        int eraser_on=1;
        double eraser_alpha=22.5/radian;
//        double eraser_alpha=(-22.5)/radian;

//        if(eraser_on) maxphoton*=4;//lathatosag
        
        
        
        for(int p=0;p<maxphoton;p++)// max number of photon
        {
            double dphase=M_PI*2*doublerand();
#if 1
            double photon_pol_a=M_PI*2*doublerand();
            double photon_pol_b=photon_pol_a+M_PI/2;
#else            
            double photon_pol_a=0; //polarized lightsource
            if(doublerand()>0.5) photon_pol_a=M_PI/2;
            double photon_pol_b=photon_pol_a+M_PI/2;
            if(doublerand()>0.5) photon_pol_b=photon_pol_a-M_PI/2;
#endif


            double ds_distance=1250.0-420.0;//mm  125-42 cm
            double dp_distance=980.0; //98 cm
            double wavelength=702.2e-6;//mm      e-9m
            double k=2.0*M_PI/wavelength;
            vec2d amp_dp,amp_ds;

            if(eraser_on)
            {
                if(doublerand()>0.5)
                {
                    photon_pol_a=eraser_alpha;//backwark causality
                    photon_pol_b=eraser_alpha+90.0/radian;
                }
                else                 
                {
                    photon_pol_a=eraser_alpha+90.0/radian;
                    photon_pol_b=eraser_alpha;
                }
            }


            double hole_dist=0.2;//0.2
            double hole_wide=0.2;//200 micrometer wide   
            double ds_pos=4.0*(double)(ds_x-200)/200.0;//+-4mm     Ds position
            int side=rand()%2;

            for(int w=0;w<maxwide;w++)//slit wide
            {
                double hole1x=hole_dist/2.0 + hole_wide*(double)w/maxwide;//hole
                double hole2x=-hole_dist/2.0 - hole_wide*(double)w/maxwide;
                double dist1=sqrt(sqr(ds_pos - hole1x) + sqr(ds_distance));
                double dist2=sqrt(sqr(ds_pos - hole2x) + sqr(ds_distance));    


                if(qwplate_on)
                {
                    if(side==0)
                    {
                    add_amp(&amp_dp,photon_pol_a ,0.5,0.5);
                    add_amp(&amp_dp,photon_pol_a ,0.5,0.5);

                    add_quarterwaveplate(&amp_ds,photon_pol_b , dist1*k,-45.0/radian,0.5, 0.5,dphase);
                    add_quarterwaveplate(&amp_ds,photon_pol_b , dist2*k, 45.0/radian,0.5, 0.5,dphase);
                    }
                    else
                    {
                    add_amp(&amp_dp,photon_pol_b ,0.5,0.5);
                    add_amp(&amp_dp,photon_pol_b ,0.5,0.5);

                    add_quarterwaveplate(&amp_ds,photon_pol_a , dist1*k,-45.0/radian,0.5, 0.5,dphase);
                    add_quarterwaveplate(&amp_ds,photon_pol_a , dist2*k, 45.0/radian,0.5, 0.5,dphase);
                    }
                }
                else
                {
                    add_amp(&amp_dp,photon_pol_a ,0.5,0.5);
                    add_amp(&amp_dp,photon_pol_a ,0.5,0.5);
                    add_amp(&amp_ds,photon_pol_b +dist1*k ,0.5,0.5);
                    add_amp(&amp_ds,photon_pol_b +dist2*k ,0.5,0.5);
                }
            }
            if(eraser_on) add_polarizer(&amp_dp,eraser_alpha);// polarizer before Dp
            
            amp_dp.x/=maxwide;//normalized
            amp_dp.y/=maxwide;
            amp_ds.x/=maxwide;
            amp_ds.y/=maxwide;


            if((probalbility(&amp_dp))>doublerand())
            if((probalbility(&amp_ds))>doublerand())
                photon_counter+=1;
        }
        pixel(ds_x,500-photon_counter,0xffff00);
    }

/*
        double dist1=0.0;
        for(int p=0;p<1000;p++)//quarterwaveplate
        {
            vec2d amp_dp,amp_ds;
            add_quarterwaveplate(&amp_ds,0.0/radian , dist1*M_PI/100.0,45.0/radian,0.5, 0.5);

            line(200,200,200+200.0*amp_ds.x,200+200.0*amp_ds.y,0x00ff00);
            dist1+=5.0;
            
            XFlush(dpy);
            getchar();
        }
*/
    XFlush(dpy);
    getchar();
        
    return 0;
}

m0kus Creative Commons License 2015.01.10 0 0 1036

A visszaállított interferencia magassága negyede az eredetinek, de ha jól megnézzük, akkor a PDF-ben is közelítőleg ennyi:

 

200/400s   120/800s=60/400s

m0kus Creative Commons License 2015.01.10 0 0 1035

Igazából ez nem klasszikus megoldás a visszahatás miatt. Olyan értelemben viszont klasszikus, hogy nincs távolhatás, és nincs fénysebesség átlépés.

 

De mint a másik topikba már idézve lett, ez a megoldás nem ismeretlen a fizikusok számára:

"Within a naïve classical word view, quantum mechanics can even mimic an influence of future actions on past events," says Anton Zeilinger.

 

http://www.sciencedaily.com/releases/2012/04/120423131902.htm

 

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!