CH4RG3
Török Attila Szoftver laboratórium 1 nagy házi feladata
Electron

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

Electronelectron_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.

Részletes leírás

Az elektronokat leíró struktúra és az azokat működtető függvények.

Függvények dokumentációja

int electron_collide_with_point ( Electron ele,
Vector  pos_next,
Vector  v 
)

Egy elektront visszapattint egy pontról, ha nekiütközne.

Paraméterek
eleA visszapattintandó elektronra mutató pointer.
pos_nextAz elektron következő időléptékben várható pozíciója.
vA pont, amiről visszapatan az elektron.
Visszatérési érték
1, ha történt ütközés; 0, ha nem.
Lásd még
Electron
electron_collide_with_wall

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.

void electron_collide_with_wall ( Electron ele,
Wall wall,
float  dt 
)

Egy elektron egy fallal való ütköztetése.

Paraméterek
eleA potenciálisan ütköző elektronra mutató pointer.
wallArra a falra mutató pointer, amivel való ütközést vizsgál a függvény.
dtIdőlépték, másodpercben mérve.
Lásd még
Electron
Wall

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.

Electron* electron_create ( Vector  p,
Vector  v,
float  c 
)

Az Electron struktúra konstruktora.

Paraméterek
pAz elektron kezdeti pozíciója.
vAz elektron kezdeti sebessége.
cAz elektron kívánt töltése.
Visszatérési érték
Pointer az újonnan létrehozott Electron struktúrára.
Lásd még
Electron

Ez a függvény létrehoz és teljesen inicializál egy Electron struktúrát.

void electron_destroy ( Electron ele)

Az Electron struktúra destruktora.

Paraméterek
chrgAz elpusztítandó elektronra mutató pointer.
Lásd még
Electron

Ez a függvény felszabadítja az elektron által foglalt memóriaterületet, így elpusztítva azt.

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.

Paraméterek
eleA tükrözendő elektronra mutató pointer.
pos_nextAz elektron következő időléptékben várható pozíciója.
lAz egyenes, amire az elektron tükröződik.
Lásd még
Electron
electron_collide_with_wall

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.

void electron_react_to_charge ( Electron ele,
Charge chrg,
float  dt 
)

Egy elektron egy töltésre való reakciója.

Paraméterek
eleArra az elektronra mutató pointer, amire hat a töltés.
chrgA hatást kifejtő töltésre mutató pointer.
dtA hatás időtartama. (Időlépték, másodpercben mérve.)
Lásd még
Electron
Charge

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.

Változók dokumentációja

float charge
Vector pos
Vector vel