sat3 Creative Commons License 2012.09.15 0 0 843

Mit számol a program? Mert szemmel láthatóan teljesen más, mint az előző.

Előszőr is készít egy táblázatot arról, hogy melyik pixel van a prizmán belül. Ezt tárolja a prizman_belul[] tömb. 

így a szimuláció sokkal gyorsabb, nem kell mindig újra és újra ugyanazt kiszámolni feleslegesen.

 

A D betű már elárulja a fizikát értőknek, hogy itt rugó-szimuláció látható. Ez a rugóállandó jele.

A lehető legegyszerűbben van felépítve a program, hogy minél gyorsabban fusson. Ez egy bevált szokás.

Például nincs tömeg a programban. Vagyis  m=1.

 

Minden pixelhez tartozik még egy amplitudo[]  és sebesseg[] ,avagy minden pixel egy rugó. Ezek a rugók egyetlen felületet alkotnak. Minden rugó érzi a 4 szomszédját. Az amplitudójának a nullpontja ezek átlaga.

alap=amplitudo[index1]+amplitudo[index2]+amplitudo[index3]+amplitudo[index4];
        alap*=(1.0/4.0);

Ez teljesen olyan, mintha a négy szomszéd egy síkot jelölne ki, és az adott rugó ehhez a síhoz képest nyúlna meg.

 

Ez a sor a hullámforrás mozgását adja meg. Néhány pixel állandóan rezeg.

amplitudo[index]=sin(time*0.4);

 

A D a prizmákon belül érvényes, azon kívül 1.5D.

*D*dt*1.5;

Előzmény: sat3 (842)