Falling Sand szimuláció C++-ban

Konzulens:
Dr. Goldschmidt Balázs
Tárgy:
Önálló laboratórium - Szoftverfejlesztés és rendszertervezés specializáció, BSc Info.
Önálló laboratórium 1 - Vizuális informatika főspecializáció, MSc Info.
Önálló laboratórium 1 - Vizuális informatika MSc. főspec.
Önálló laboratórium 2 - Vizuális informatika MSc. főspec.
Hallgatói létszám:
1
Folytatás:
Szakdolgozat / Diplomaterv
Leírás:

A "falling sand" szimuláció egy izgalmas és vizuálisan érdekes jelenség, ahol különböző részecskék (homok, víz, láva, kő, stb.) interakcióba lépnek egymással. A hallgató feladata, hogy implementáljon egy ilyen szimulációt C++ nyelven, és optimalizálja azt, hogy hatékonyan kezelje a részecskék mozgását és kölcsönhatásait a program.

 

A hallgató feladata lépésekben:

  1.  A részecskék és a térkép reprezentációja: Hozzon létre egy megfelelő adatszerkezetet a részecskék és a szimulációs térkép tárolására. Fontos figyelembe vennie a hatékonyságot, például a gyors hozzáférést az adott pozícióban lévő részecskékhez.
  2.  A részecskék mozgása: Implementálja a részecskék mozgását a térképen. Figyeljen a gravitációra, a részecskék ütközéseire és a megfelelő viselkedésükre.
  3.  A részecskék kölcsönhatása: Készítse el a részecskék közötti kölcsönhatásokat, például a homok lehullását a lyukakba, a víz áramlását, vagy a kő megolvadását láva közvetlen közelében.
  4.  Optimalizáció: Végezzen hatékonysági optimalizációt a szimulációban. Gondolkodjon a megfelelő adatszerkezetek, algoritmusok és gyorsítótár használatán, hogy a szimuláció minél simábban fusson, még nagyobb méretű térképeken is.
  5.  Vizuális megjelenítés: Implementálja a vizuális megjelenítést, hogy a szimuláció eredménye valós időben látható legyen a képernyőn. Használhat például grafikus könyvtárakat (pl. SDL).
  6.  Kísérletezés és továbbfejlesztés: További ötletekkel, fejlesztésekkel bővítheti a szimulációt. Például hozzáadhat új részecskéket, implementálhat speciális kölcsönhatásokat.