Commit 057a330f authored by Taddeüs Kroes's avatar Taddeüs Kroes

Worked on 'Design' chapter of report.

parent 9c605e96
...@@ -63,22 +63,52 @@ ...@@ -63,22 +63,52 @@
\end{figure} \end{figure}
} }
\newcommand{\driverdiagram}[1]{ \newcommand{\driverdiagram}{
\begin{figure}[h] \begin{figure}[H]
\center \center
\architecture{ \architecture{
\node[block, below of=driver] (eventdriver) {Event driver} \node[block, below of=driver] (eventdriver) {Event driver}
edge[linefrom] node[right, near end] {driver-specific messages} (driver); edge[linefrom] node[right, near end] {driver-specific messages} (driver);
\node[block, below of=eventdriver, dashed] (analysis) {Event analysis} \node[block, below of=eventdriver, dashed] (analysis) {Event analysis}
edge[linefrom] node[right] {events} (eventdriver); edge[linefrom] node[right] {events} (eventdriver);
\node[block, below of=analysis] {Application} \node[block, below of=analysis] {Application}
edge[linefrom] node[right, near start] {gestures} (analysis); edge[linefrom] node[right, near start] {gestures} (analysis);
\node[right of=eventdriver, xshift=2em] (dummy) {}; \node[right of=eventdriver, xshift=2em] (dummy) {};
\group{eventdriver}{eventdriver}{dummy}{analysis}{Architecture} \group{eventdriver}{eventdriver}{dummy}{analysis}{Architecture}
} }
\caption{#1} \caption{Extension of the diagram from figure \ref{fig:basicdiagram},
\label{fig:driverdiagram} showing the position of the event driver in the architecture. The
event driver translates driver-specific to a common set of events,
which are delegated to analysis components that will interpret them
as more complex gestures.}
\label{fig:driverdiagram}
\end{figure}
}
\newcommand{\multipledriversdiagram}{
\begin{figure}[H]
\center
\begin{tikzpicture}[node distance=6em]
\node[block] (driver) {Driver};
\node[block, below of=driver] (eventdriver) {Event driver}
edge[linefrom] (driver);
\node[block, right of=driver, xshift=2em] (seconddriver) {Driver};
\node[block, below of=seconddriver] (secondeventdriver) {Event driver}
edge[linefrom] node[right, near end] {driver-specific messages} (seconddriver);
\node[block, below of=eventdriver, dashed] (analysis) {Event analysis}
edge[linefrom] (eventdriver)
edge[linefrom] node[right=5] {events} (secondeventdriver);
\node[block, below of=analysis] {Application}
edge[linefrom] node[right, near start] {gestures} (analysis);
\node[right of=seconddriver, xshift=2em] (dummy) {};
\group{eventdriver}{eventdriver}{dummy}{analysis}{Architecture}
\end{tikzpicture}
\caption{Multiple event drivers running simultaneously.}
\label{fig:multipledrivers}
\end{figure} \end{figure}
} }
...@@ -214,3 +244,65 @@ ...@@ -214,3 +244,65 @@
\label{fig:ex3} \label{fig:ex3}
\end{figure} \end{figure}
} }
\newcommand{\eventpropagationfigure}{
\begin{figure}[h!]
\center
\subfigure[An event is triggered in the white area. The event is first
delegated to the white area from te gray area (2). After gesture
detection, it is propagated back to the gray area (6) \emph{unless}
propagation has been stopped in the gesture tracker between (3) and (4).]{
\begin{tikzpicture}[node distance=5.5em]
\draw node[draw=black, minimum width=190, minimum height=140] (screen) at (0,0) {};
\draw node[fill=gray!50, draw=black!70, minimum height=100, minimum width=100] (screen) at (-0.1,-0.1) {};
\draw node[fill=white, draw=black!80, diamond, minimum height=50, minimum width=50] (screen) at (0.3,0.4) {};
\fill (0.4, 0.6) circle (0.15);
\draw node[block, yshift=-10em, xshift=-3em] (driver) {Event driver};
\draw node[block, below of=driver] (gray) {Gray area}
edge[linefrom] node[left=5] {1} (driver);
\draw node[block, below of=gray] (white) {White area}
edge[linefrom, bend left=15] node[left] {2} (gray)
edge[lineto, bend right=15] node[right] {6} (gray);
\draw node[block, right of=white, xshift=4em] {\emph{rotation} tracker}
edge[linefrom, bend right=15] node[above] {3} (white)
edge[lineto, dotted, bend left=15] node[below] {4} (white);
\draw node[block, right of=gray, xshift=4em] {\emph{rotation} tracker}
edge[linefrom, bend right=15] node[above] {7} (gray)
edge[lineto, dotted, bend left=15] node[below] {8} (gray);
\draw node[block, below of=white] {Application}
edge[linefrom, dotted, bend left=65] node[left] {9} (gray)
edge[linefrom, dotted] node[left] {5} (white);
\end{tikzpicture}
}
\quad
\subfigure[An event is triggered in the gray area, it does not even
reach the white area.]{
\begin{tikzpicture}[node distance=5.5em]
\draw node[draw=black, minimum width=190, minimum height=140] (screen) at (0,0) {};
\draw node[fill=gray!50, draw=black!70, minimum height=100, minimum width=100] (screen) at (-0.1,-0.1) {};
\draw node[fill=white, draw=black!80, diamond, minimum height=50, minimum width=50] (screen) at (0.3,0.4) {};
\fill (-0.5, -0.7) circle (0.15);
\draw node[block, yshift=-10em, xshift=-3em] (driver) {Event driver};
\draw node[block, below of=driver] (gray) {Gray area}
edge[linefrom] node[left=5] {1} (driver);
\draw node[block, below of=gray] (white) {White area};
\draw node[block, right of=white, xshift=4em] {\emph{rotation} tracker};
\draw node[block, right of=gray, xshift=4em] {\emph{rotation} tracker}
edge[linefrom, bend right=15] node[above] {2} (gray)
edge[lineto, dotted, bend left=15] node[below] {3} (gray);
\draw node[block, below of=white] {Application}
edge[linefrom, dotted, bend left=65] node[left] {4} (gray);
\end{tikzpicture}
}
\caption{Two nested squares both listen to rotation gestures. The two
figures both show a touch object triggering an event, which is
delegated through the area tree in the order indicated by the numbered
arrow labels. Normal arrows represent events, dotted arrows represent
gestures. Note that the dotted arrows only represent the path a gesture
would travel in the tree \emph{if triggered}, not an actual triggered
gesture.}
\label{fig:eventpropagation}
\end{figure}
}
...@@ -136,3 +136,24 @@ ...@@ -136,3 +136,24 @@
year = "2012" year = "2012"
} }
@inproceedings{conf/gw/RigollKE97,
added-at = "2011-06-16T00:00:00.000+0200",
author = "Rigoll, Gerhard and Kosmala, Andreas and Eickeler, Stefan",
biburl = "http://www.bibsonomy.org/bibtex/26873a6cd47352cc259cac68b7aae6011/dblp",
booktitle = "{Gesture Workshop}",
editor = "Wachsmuth, Ipke and Fr{\"o}hlich, Martin",
ee = "http://dx.doi.org/10.1007/BFb0052990",
interhash = "34d903bedb489d5eee561a2b2ffecc5f",
intrahash = "6873a6cd47352cc259cac68b7aae6011",
isbn = "3-540-64424-5",
keywords = "dblp",
pages = "69--80",
publisher = "Springer",
series = "{Lecture Notes in Computer Science}",
title = "{High Performance Real-Time Gesture Recognition Using Hidden Markov Models.}",
url = "http://dblp.uni-trier.de/db/conf/gw/gw1997.html#RigollKE97",
volume = 1371,
x-fetchedfrom = "Bibsonomy",
year = 1997
}
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment