Arvutiteaduse instituut
  1. Kursused
  2. 2025/26 sügis
  3. Arvutigraafika (MTAT.03.015)
EN
Logi sisse

Arvutigraafika 2025/26 sügis

  • Main
  • Lectures
  • Practices
  • Projects
  • Test
  • Results
  • Links

A Gallery of Interactive Fluid Simulations

Henrik Peegel, Jaakob-Jaan Avvo, Ander Pavlov

Repo link: https://github.com/vapsik/Interactive_Fluid_Simulations

The goal of this project is to create a gallery of interactive 2D fluid simulations that enact the Navier-Stokes equations for incompressible fluids. The algorithm used to simulate the fluids is *Stable Fluids* based on the Jos Stam's seminal work, a 2001 article (link: https://pages.cs.wisc.edu/~chaol/data/cs777/stam-stable_fluids.pdf) in the field of real-time fluid simulation that has been extensively used in video games since its inception. In this algorithm, a simple incompressible (constant density) fluid is represented in a rectangular grid as a field coupled velocity vectors and pressure scalars that will dictate the movement of the fluid. The method relies on implicit diffusion, semi-Lagrangian advection and Gauss-Seidel projection, which all allow for stable, large time-step simulation without numerical divergence, combined with a projection step that enforces incompressibility, which makes the velocity field divergence-free using the Helmholtz decomposition theorem (https://en.wikipedia.org/wiki/Helmholtz_decomposition). Diffusion, external forces, and boundary interactions are incorporated in a computationally efficient time evolution scheme such that larger time steps can be used without losing physical accuracy or stability.

The first proof-of-concept non-interactive prototypes of the simulations will be created using Python in Jupyter notebook. Prototypes will lay the groundwork for visually enhanced and interactive simulations created with the Unity game engine, where computations will be parallelized via compute shaders for better real-time performance.

Add to this page a brief, clear description, links (to repo and Windows build or webpage), images (screenshots), the final report, the final result video, and anything cool you have. Make and keep this page presentable throughout the course. Update the fbgpmeta tag above as well, with a short description and image. We will be checking this page. Remove this text.

  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused