sat3 Creative Commons License 2012.09.09 0 0 830

..és a mag csak ennyi.

 

     for(int x3=-40;x3<41;x3++)
    {
        kep.x=x+0.5*(frand(2.0)-1.0);            
        kep.y=y+0.5*(frand(2.0)-1.0);

        fazis =  calc(forras,kep, k1,k2);
        fazis += calc(kep,cel,    k1,k2);

        amplitudo.x += cos(fazis);
        amplitudo.y += sin(fazis);
        u++;
    }

 

A program további részei csak kiegészítő funkciót látnak el.

A metszet() két egyenes metszéspontját számolja, a calc() pedig a metszéspontok közti szakaszokra eldönti, hogy k1 vagy k2 hullámszámmal kell ott számolni,

 

és ami lényeg még:

fazis += hossz(diff)*k1;

 

 

A program forgó vektorokkal számol, nem komplex számokkal, de az eltérés az eredményben jelentéktelen.

Előzmény: sat3 (827)