summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Schinagl <oliver@schinagl.nl>2008-01-11 00:32:58 (GMT)
committerOliver Schinagl <oliver@schinagl.nl>2008-01-11 00:32:58 (GMT)
commit822cc9fe611a8006332dfd160ae4f54db965bc94 (patch)
tree459c224a994a41ff56ef98d80a4f004c39c2993b
parent388f374391426c342c0bc271ea812ef1d088436a (diff)
download2iv35-822cc9fe611a8006332dfd160ae4f54db965bc94.zip
2iv35-822cc9fe611a8006332dfd160ae4f54db965bc94.tar.gz
2iv35-822cc9fe611a8006332dfd160ae4f54db965bc94.tar.bz2
the the the the!
-rw-r--r--Smoke/report/chapter4.tex36
1 files changed, 13 insertions, 23 deletions
diff --git a/Smoke/report/chapter4.tex b/Smoke/report/chapter4.tex
index 80911ef..66238f5 100644
--- a/Smoke/report/chapter4.tex
+++ b/Smoke/report/chapter4.tex
@@ -1,28 +1,23 @@
\chapter{Glyphs}
-When taking a snapshot of the moving fluid a lot of information about the simulation is lost. The direction the fluid was heading for instance. Glyphs are used to
-take care of such problems. \\
+When taking a snapshot of the moving fluid a lot of information about the simulation is lost. The direction the fluid was heading for instance. Glyphs are used to take care of such problems. \\
\section{Description}
-\textit{"Glyphs are icons that convey the value (orientation, magnitude) of a vector field by means of several graphical icons, such as arrows."} \\
+\textit{"Glyphs are icons that convey the value (orientation, magnitude) of a vector field in several graphical ways, such as hedgehogs or arrows."} \\
\begin {center}
\includegraphics[width=100mm]{glyphs.png} \\
Figure 4: Triangle glyphs with a grey scaled colormap\\
\end {center}
-What does it mean? The smoke in our fluid simulation has a direction and speed. These two values can be represented by a vector encoding the direction as the
-orientation and the speed as the magnitude. If you draw this vector for each vertex you get a vector field that shows the direction and speed of the fluid at each
-vertex. \\
+The smoke in the fluid simulation has a direction and speed. These two values can be represented by a vector encoding the direction as the orientation and the speed as the magnitude. If this vector is drawn for each vertex a vector field that shows the direction and speed of the fluid at each vertex then becomes visible. \\
-In the figure above (figure 4) you see triangle glyphs with a grey scaled colormap. In the lower right region you can see that the fluid is moving upwards where at
-the rest of the simulation the fluid is trying to get to the bottom of the screen. \\
+In the figure above (figure 4) a triangle glyph with a grey scaled colormap is visible. In the lower right region the fluid is moving upwards where as the rest of the simulation the fluid is trying to get to the bottom of the screen. \\
\section{Implementation}
-We implemented four additional glyphs besides the already implemented hedgehogs. We implemented triangles (see figure 4), 3D cones, 32x32 bitmap image glyphs (see
-figure 5) and s second image glyphs. For every glyph we go through a set of steps.
+Four additional glyphs where implemented besides the already implemented hedgehogs. Triangles (see figure 4), 3D cones, and 2 bitmap image glyphs (see figure 5). Every glyph has to go through a certain few steps explained below.
\begin{itemize}
\item calculate size (length)
@@ -30,11 +25,11 @@ figure 5) and s second image glyphs. For every glyph we go through a set of step
\item rotate and render object \\
\end{itemize}
-The length is calculated using the following equation of Pythagoras:
+The length is calculated using the equation of Pythagoras:
$$ length = \sqrt{x^3 + y^3 + z^3} $$
-The angle $ \Theta $ of the glyph is calculated using the inner product ($ inprod $). The inner product is used to calculate the glyphs angle:
+The angle $ \Theta $ of the glyph is calculated using the inner product ($ inprod $). To calculate the glyphs angle, the inner product is used:
$$ \Theta = acos(inprod) * (180^\circ / \Pi) $$ \\
@@ -43,24 +38,19 @@ $$ \Theta = acos(inprod) * (180^\circ / \Pi) $$ \\
Figure 5: Image glyphs colored with a rainbow colormap \\
\end {center}
-The second part of this assignment was to let the user be able to choose an alternative resolution for the sample grid. The default grid resolution is 50x50. The
-user is now able to alter that resolution. We use the value of the nearest-neighbor for the glyph to visualize it. \\
+Additionally it was required for this assignment to allow the user to choose an alternative resolution for the sample grid. The default grid resolution is 50x50. To visualize this grid, the value of the nearest-neighbor for the glyph is used. \\
\section{Difficulties}
-We had some troubles with calculating the angle of the glyph. For some reason the calculation checks the smallest angle which is between $ 0^\circ $ and $ 180^\circ
-$. When we located this irregularity it was easily fixed. \\
+Troubles began with calculating the angle of the glyph. For some reason the calculation checks the smallest angle which is between $ 0^\circ $ and $ 180^\circ$. After locating this irregularity the problem it was easily fixed. \\
\section{Quake root}
-A nice side note to this chapter is that we don't use the default $ sqrt(float) $ function that the C-library offers to determine the length of a vector for
-instance. We use a function that we like to call the "Quake Root" from the game Quake 3. \\
+A nice side note to this chapter is that the default $ sqrt(float) $ function that the C-library offers, to determine the length of a vector for example, is not used. A function that will be called "Quake Root" from the game Quake 3 is used in it's place. \\
-The code implements the Newton Approximation of roots. The Newton approximation is supposed to be ran in iterations; each iteration enhances the accuracy until
-enough iterations have been made for reaching the desired accuracy. The really interesting aspect of this function is a magic constant, used to calculate the
-initial guess. Only one Newton approximation iteration is required for a low relative error of $ 10^{-3} $. \\
+The code implements the Newton Approximation of roots, which is supposed to be ran in iterations; each iteration enhances the accuracy until enough iterations have been made for reaching the desired accuracy. Interestingly this function features a magic constant, used to calculate the initial guess. Only one Newton approximation iteration is required for a low relative error of $ 10^{-3} $. \\
-The function runs up to 4 times faster than the $ sqrt(float) $ function, even though it's usually implemented using the FSQRT assembly instruction! \\
+The function runs up to 4 times faster than the $ sqrt(float) $ function, even though it is usually implemented using the FSQRT assembly instruction! \\
-You can read more about the magical square root at: \\
+More information about the magical square root can be found online at: \\
\textcolor[rgb]{0.00,0.00,1.00}{\underline{http://www.codemaestro.com/reviews/9}}