alethea_ Creative Commons License 2007.09.21 0 0 368

Itt a modell szimulációja, nincs benne cos függvény. Az csak a QM referencia volt, hogy lehessen mihez viszonyítani.

Az szimulálja, ami a modell ábrájáról tisztán leolvasható. A foton akkor tud átmenni a polarizátoron, ha a polarizátor optikai tengelye a foton piros területébe esik.

Én ezt a 45 fokos szöget összébb vettem(itt a programban 36-ra) és adtam hozzá egy véletlen szórást.(itt 24 fok)

A KRITIKUS SZÖGEKNÉL JÓL ILLESZKEDIK A KAPOTT GÖRBE A QM-ÉRA.

Mit nem lehet ezen érteni?

 

 

int szoras(int u)
{
 if(u==0) return 0;

 return -u+(rand()%(2*u));
}
void kiserlet()
{
 for(int x=0;x<360;x+=3)
 {
        int hatar=36,veletlen_szog=24;
        int szamlalo_alap=0,szamlalo=0;

  for(int i=0;i<50000;i++)//egyforma allasu meres
     {
         int fot_pol=rand()%360,kul;
            int val,detektor1=0,detektor2=0;

   kul=abs(x-fot_pol+szoras(veletlen_szog));
            if(kul>=90&&kul<=270) kul=abs(180-kul);//0-90 fokra korlatozza az erteket
            if(kul>=270)   kul=abs(kul-360);
            detektor1=kul;

   kul=abs(x-fot_pol+szoras(veletlen_szog));
            if(kul>=90&&kul<=270) kul=abs(180-kul);
            if(kul>=270)   kul=abs(kul-360);
            detektor2=kul;

            if(detektor1<hatar)
            if(detektor2<hatar) szamlalo_alap++;
        }
  for(int i=0;i<50000;i++)//meres
     {
         int fot_pol=rand()%360,kul;
            int val,detektor1=0,detektor2=0;

   kul=abs(x-fot_pol+szoras(veletlen_szog));
            if(kul>=90&&kul<=270) kul=abs(180-kul);
            if(kul>=270)   kul=abs(kul-360);
            detektor1=kul;

   kul=abs(0-fot_pol+szoras(veletlen_szog));
            if(kul>=90&&kul<=270) kul=abs(180-kul);
            if(kul>=270)   kul=abs(kul-360);
            detektor2=kul;

            if(detektor1<hatar)
            if(detektor2<hatar) szamlalo++;
        }
        pixel(x,500-szamlalo*200/szamlalo_alap,255,255,0);

    }
}