summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Schinagl <oliver@schinagl.nl>2008-01-11 01:02:16 (GMT)
committerOliver Schinagl <oliver@schinagl.nl>2008-01-11 01:02:16 (GMT)
commitd5abc162bc84764df7577798ee02a257dac9f837 (patch)
tree3acbe4beb3d75d675cae9388b87fee158b1cda8f
parent051686899e00b3810399e8a247f04948b8f6e5db (diff)
download2iv35-d5abc162bc84764df7577798ee02a257dac9f837.zip
2iv35-d5abc162bc84764df7577798ee02a257dac9f837.tar.gz
2iv35-d5abc162bc84764df7577798ee02a257dac9f837.tar.bz2
en toen waren we eigenwijs
-rw-r--r--Smoke/report/chapter6.tex24
1 files changed, 8 insertions, 16 deletions
diff --git a/Smoke/report/chapter6.tex b/Smoke/report/chapter6.tex
index 9dd0f22..2777a08 100644
--- a/Smoke/report/chapter6.tex
+++ b/Smoke/report/chapter6.tex
@@ -1,14 +1,12 @@
\chapter{Isosurfaces}
-This assignment was a really interesting one. It introduces a method to implement so called isolines. Such an isoline creates a surface that encapsulates a region
-with a value higher than a given threshold. \\
+This assignment was a really interesting one. It introduces a method to implement so called isolines. Such an isoline creates a surface that encapsulates a region with a value higher than a given threshold. \\
\section{Description}
-An isoline is a line that sort to speak follows a given value. If the values of a field ranges from 0 to 1, a good threshold would be 0.6 for instance. The isoline
-visualizes the points that equal the value of 0.6. \\
+An isoline is a line that more or less follows a given value. If the values of a field ranges from 0 to 1, a good threshold would be 0.6. An isoline could then visualize the points that equal the value of 0.6. \\
-Our program is able to define the number of contour-lines and the minimum and maximum values in between the isolines are rendered. \\
+The simulation program is able to set a certain the number of isolines with a minimum and maximum values between two 'contour'-isolines. \\
\section{Implementation}
@@ -26,16 +24,14 @@ The algorithm that implements the isolines follows a structured pattern. In pseu
\} \\
\end{tabbing}
-So the algorithm passes through every cell and then checks the four cell vertices \{$ v_0 $, $ v_1 $, $ v_2 $, $ v_3 $\} of that cell. Each vertex has it's own
-value. With that value, the algorithm can check if a vertex is inside ($ v_j \geq threshold $) or outside ($ v_j < threshold $) the isosurface. The inside/outside
-state is then stored in a bit. \\
+The algorithm passes through every cell and then checks the four cell vertices \{$ v_0 $, $ v_1 $, $ v_2 $, $ v_3 $\} of that cell. Each vertex has it's own value. With that value, the algorithm can check if a vertex is inside ($ v_j \geq threshold $) or outside ($ v_j < threshold $) the isosurface. The inside/outside state is then stored. \\
\begin {center}
\includegraphics[width=\textwidth]{isolines.png} \\
Figure 6: Three fire-like colored isolines on a blue grid \\
\end {center}
-If a vertex, say $ v_0 $ is inside the isosurface, $ v_0 $ is set to 1, else it's left to 0. This is done for all four vertices which results in a 4-bit status.
+If a vertex, $ v_0 $ is inside the isosurface, $ v_0 $ is set to 1, else it's left to 0. This is done for all four vertices which results in a 4-bit status.
This means there are in total 16 different cases in which the isoline can run through a cell. \\
\begin {center}
@@ -43,11 +39,9 @@ This means there are in total 16 different cases in which the isoline can run th
Figure 7: The 16 marching square cases \\
\end {center}
-The above image (figure 7) shows the 16 different cases of the marching squares algorithm. A white vertex indicates that the vertex is outside the isosurface and
-black indicates it is inside the isosurface. Every inside or outside case has it's counterpart. So we've reduced the number of cases down to 8. In case 0 and 15 for
-instance, no lines have to be rendered, yet they are both very different cases. \\
+Above the image (figure 7) shows the 16 different cases of the marching squares algorithm. A white vertex indicates that the vertex is outside the isosurface and black indicates it is inside the isosurface. Every inside or outside case has its counterpart. Since some cases are equal, they can be reduced to 8. In case 0 and 15 for example, no lines have to be rendered, yet they are both different cases. \\
-The cases 5 and 10 are both ambiguous cases as becomes clear from the next image (figure 8). \\
+Cases 5 and 10 are also both ambiguous cases as becomes clear from the next image (figure 8). \\
\begin {center}
\includegraphics[width=100mm]{ambiguous.png} \\
@@ -56,6 +50,4 @@ The cases 5 and 10 are both ambiguous cases as becomes clear from the next image
\section{Difficulties}
-The contouring algorithm is very simple to implement. Just follow the instructions of the method. Still our contour was not very smooth. It had sharp edges
-everywhere and there was no smooth curve in the contour. The problem was with the intersection with the isovalue. We did'nt exactly follow the equation that was in
-the study material. When we reverted to that equation the isolines where nice and smooth. \\
+The contouring algorithm is very simple to implement following the instructions of this previous method. Initially the contour was not very smooth. It was jaggy and had sharp edges everywhere. There was no smooth curve in the contours anywhere. The problem laid within the intersection with the isovalue. After reverting to this method, rather then something self-constructed, the isolines where nice and smooth. \\