![]() |
CH4RG3
Török Attila Szoftver laboratórium 1 nagy házi feladata
|
Az elektronokat leíró struktúra és az azokat működtető függvények. Részletek...
Fájl | |
fájl | electron.c |
Az elektronokat működtető függvények definíciói. | |
fájl | electron.h |
Az elektronokat leíró struktúra, és az azokat működtető függvények deklarációi. |
Adatszerkezetek | |
struct | Electron |
Egy elektront leíró struktúra. Részletek... |
Függvények | |
Electron * | electron_create (Vector, Vector, float) |
Az Electron struktúra konstruktora. | |
void | electron_react_to_charge (Electron *, Charge *, float) |
Egy elektron egy töltésre való reakciója. | |
void | electron_collide_with_wall (Electron *, Wall *, float) |
Egy elektron egy fallal való ütköztetése. | |
void | electron_destroy (Electron *) |
Az Electron struktúra destruktora. |
Változók | |
Vector | pos |
Vector | vel |
float | charge |
void | electron_mirror_to_line (Electron *ele, Vector pos_next, Line l) |
Egy elektron sebességét és pozícióját tükrözi egy egyenesre. | |
int | electron_collide_with_point (Electron *ele, Vector pos_next, Vector v) |
Egy elektront visszapattint egy pontról, ha nekiütközne. |
Az elektronokat leíró struktúra és az azokat működtető függvények.
Egy elektront visszapattint egy pontról, ha nekiütközne.
ele | A visszapattintandó elektronra mutató pointer. |
pos_next | Az elektron következő időléptékben várható pozíciója. |
v | A pont, amiről visszapatan az elektron. |
Ez a függvény megvizsgálja, hogy ha egy elektron a várt következő pozícióba (pos_next) mozdulna el, közben beleütközne-e egy adott pontba (v);
Amennyiben igen, az ütközést végrehajtja az elektron pozíciójának és sebességének megfelelő megváltoztatásával.
Egy elektron egy fallal való ütköztetése.
ele | A potenciálisan ütköző elektronra mutató pointer. |
wall | Arra a falra mutató pointer, amivel való ütközést vizsgál a függvény. |
dt | Időlépték, másodpercben mérve. |
Ez a függvény megvizsgálja, hogy a következő dt hosszú időintervallumban beleütközne-e az elektron a falba, és ha igen, annak pozícióját és sebességét a várható ütközés mikéntjétől függően megfelelő irányba és mértékben módosítja, hogy az elektron visszapattanjon a falról.
Az Electron struktúra konstruktora.
p | Az elektron kezdeti pozíciója. |
v | Az elektron kezdeti sebessége. |
c | Az elektron kívánt töltése. |
Ez a függvény létrehoz és teljesen inicializál egy Electron struktúrát.
void electron_destroy | ( | Electron * | ele | ) |
Egy elektron sebességét és pozícióját tükrözi egy egyenesre.
ele | A tükrözendő elektronra mutató pointer. |
pos_next | Az elektron következő időléptékben várható pozíciója. |
l | Az egyenes, amire az elektron tükröződik. |
Ez a függvény mindenféle vizsgálat nélkül tengelyesen tükrözi az átadott elektron pozícióját és sebességét egy (l) vonalra.
Ezen felül a pozíciót kompenzálja az elektron sugara miatt, hogy a függvény a falakkal való ütköztetésekhez használható legyen.
Egy elektron egy töltésre való reakciója.
ele | Arra az elektronra mutató pointer, amire hat a töltés. |
chrg | A hatást kifejtő töltésre mutató pointer. |
dt | A hatás időtartama. (Időlépték, másodpercben mérve.) |
Ez a függvény fejti ki egy elektronra egy töltés vonzó/taszító hatását az egymáshoz viszonyított polaritásuknak és töltésüknek megfelelő mértékben és irányban.
float charge |
Vector pos |
Vector vel |