summaryrefslogtreecommitdiffstats
path: root/Smoke/report/chapter2.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Smoke/report/chapter2.tex')
-rw-r--r--Smoke/report/chapter2.tex30
1 files changed, 30 insertions, 0 deletions
diff --git a/Smoke/report/chapter2.tex b/Smoke/report/chapter2.tex
new file mode 100644
index 0000000..be2ccca
--- /dev/null
+++ b/Smoke/report/chapter2.tex
@@ -0,0 +1,30 @@
+\chapter{The skeleton code}
+
+The provided code for the course contains an implementation of a real-time fluid flow simulation. The fluid flows under the influence of a user-controlled force
+field. The simulation follows the Navier-Stokes equations for fluid flow. These equations describe how the velocity, pressure, temperature and density of a moving
+fluid are related. \\
+
+\section{Grid-based smoke}
+
+The visualization is done using a two dimensional grid as opposed to particle-based smoke visualization techniques. At every vertex a number of fluid attributes are
+stored. The skeleton program keeps track of the density, velocity and force. Using different techniques, these attributes can be visualized. Each and every
+attribute has its own 'preferred' visualization technique. \\
+
+Using these values at the cell's vertices all sorts of techniques, additional values and other useful info can be used. The values are used in colormap techniques,
+calculation of the divergence and the rendering of the hight plots. \\
+
+\begin {center}
+ \includegraphics[width=70mm]{flow_vis.png} \\
+ Figure 2: Fluid visualization \\
+\end {center}
+
+The above screenshot shows us the fluid movement using a grey colormap. This simple yet effective visualization technique is explained in chapter 3. \\
+
+\section{Internal structure}
+
+The first assignment was to simply compile the code. That was fairly easy. However, the code was a bit unstructured. Everything was put into one big file. To be
+able to add additional functionality without losing sight of what we were doing, we created a new file for every new technique we implemented. The second thing we
+did is we split up the calculations, the rendering functions and user interactions from each other. \\
+
+With this new structure we were able to manage the code and add additional functionality. We also used SVN to manage our project. This was very useful since we both
+had different development environments and also did a lot of work at home. \\