summaryrefslogtreecommitdiffstats
path: root/Smoke/report/chapter3.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Smoke/report/chapter3.tex')
-rw-r--r--Smoke/report/chapter3.tex31
1 files changed, 10 insertions, 21 deletions
diff --git a/Smoke/report/chapter3.tex b/Smoke/report/chapter3.tex
index 5be90ac..7cf56a2 100644
--- a/Smoke/report/chapter3.tex
+++ b/Smoke/report/chapter3.tex
@@ -4,26 +4,21 @@ In chapter 2 we saw a figure (figure 2) which showed a fluid in motion. The flui
\section{Description}
-The technique that maps a value to a specific color is called color mapping. We already explained that the simulation is divided into cells with each 4 vertices
-that can contain different values (a uniform quad grid). A colormap calculates the color, given a certain colormap function, for every value at a vertex. Example:
-\\
+The technique that maps a value to a specific color is called color mapping. We already explained that the simulation is divided into cells with each 4 vertices that can contain different values, a uniform quad grid. A colormap calculates the color, given a certain colormap function, for every value at a vertex. \\
+Example:
In figure 2 we saw the smoke using a grey scaled colormap. If we know that the values at the vertices ranges from 0 to 1, we can use the value to determine each
color aspect, red, green and blue. This means, for each vertex:
$$ red = green = blue = value $$
-To be able to reason about the colored images, we added a legend at the top of the screen. The leftmost colors indicate low values and the rightmost colors indicate
-high values. With such a colormap legend, it's easier to understand the produced images and say something about the value of the fluid. \\
+To be able to reason about the colored images, we added a legend at the top of the screen. The leftmost colors indicate low values and the rightmost colors indicate high values. With such a colormap legend, it's easier to understand the produced images and say something about the value of the fluid. \\
-You are also able to set the number of used colors. At default this value is set to 256 colors, but you can easily set that amount to 16 using a slider. You will
-see big bands of colors appear. This way, the line between certain values becomes more visible. \\
+Using a slider it is possible to change the number of colors. By default this value is set to 256 colors, but this is easily changed to anything below that. At lower number of colors big bands of colors will start to appear maing variations more visiable. \\
\section{Implementation}
-We've implemented two actual colormaps and three which only contain one RGB color, red, green or blue (useful for isolines for instance). The "Wilrik" colormap
-implements a fire elemental color scheme. The other one is called "Oliver" and is a repeated band of colors which can show quite well where the fluid's in motion.
-\\
+Next to the 3 supplied colormaps 5 additional colormaps where added. Three of these where only contain one color, red, green or blue. These are not only useful for isolines but also when wanting to see height plots, but not get distracted by the flow of density. The remaining two colormaps are the "Wilrik" colormap, it implements a fire elemental color scheme and the "Oliver" colormap which may seem like a tripy odd map, not like a colormap at all. It does serve a purpose however, it allows to easly see rapid changing values. \\
\begin {center}
\includegraphics[width=100mm]{wilrik.png} \\
@@ -34,22 +29,16 @@ The fire color is determined as follows:
$$ red = value; green = value / 3; blue = 0; $$
-So, if the value is high, a lot of red, one third of green and no blue is taken. Low values only get a bit of red and almost no green. This gives a black to dark
-red to orange, almost yellow colormap. \\
+If the value is high, a lot of red, one third of green and no blue is taken. Low values only get a bit of red and almost no green. This gives a black to dark red to orange to almost yellow colormap giving the illusion of fire. \\
To create a repeating band of colors, we used to following definition:
-$$ value = (int)(value * 100) \texttt{ mod } 10 $$
+$$ value = (((int)(value * 100)) \texttt{ mod } 10)/10 $$
-So we first multiply the value with 100, cast it to an integer and take that value modulo 10. We then take some colors from a look-up-table to pick the color for
-the band. \\
+By first mutliplying our value by 100 and converting it to an integer the value get's reduced in significance. If this would be devided by 100 again the result would be 100 different bands of color. By taking the module of 10 first however, a repeating sequence of bands is achieved. To compensate for the earlier multiplication of 100 it's required to devide by 10 once more, as color values are set to be between 0 and 1. \\
\section{Difficulties}
-The last mechanisms to implement for this assignment were scaling and clamping. With clamping you let the user set a minimum and maximum for the values. This is
-done by first enabling clamping and then click somewhere in the bottom of the color legend and drag the minimum and maximum clamping indictors. Actual data lower
-then the minimum or higher than the maximum are set to the maximum or minimum respectively. \\
+The last mechanisms to implement for this assignment were scaling and clamping. With clamping the user is able to set a minimum and maximum for the values. This is done by first enabling clamping and then clicking on in the bottom half of the color legend and drag the minimum and maximum clamping indictors, which are white. Actual data lower then the minimum or higher than the maximum calculated value are then clamped to the this minimum and maximum respectively. \\
-The (auto)scaling mechanism was a bit more subtle. When enabled, you can set the scaling in the same way as the clamping. For the auto-scaling, the minimum and
-maximum values are stored and the entire dataset at the current time moment is mapped to the visible colormap. This is not so hard to do, but we had not foreseen
-that values could also be negative. It wasn't until we implemented the divergence that we found this problem. \\
+The (auto)scaling mechanism was a bit more subtle. When enabled, the scaling is set in the same way as the clamping but for the top half of the legend bar, marked in red. For the auto-scaling bit, the minimum and maximum values are stored and the entire frame and is mapped to the visible colormap. This is was quite trivial, was it not that the values could also be negative. Something that went unnoticed until divergence was implemented. \\