Falling Sand szimuláció C++-ban
Konzulens:
Dr. Goldschmidt Balázs
Tárgy:
Önálló laboratórium 1 - Vizuális informatika MSc. főspec.
Önálló laboratórium 2 - Vizuális informatika MSc. főspec.
Önálló laboratórium - Szoftverfejlesztés és rendszertervezés specializáció, BSc Info.
Önálló laboratórium 2 - Vizuális informatika MSc. főspec.
Önálló laboratórium - Szoftverfejlesztés és rendszertervezés specializáció, BSc Info.
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:
- 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.
- 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.
- 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.
- 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.
- 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).
- 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.