|
|
@@ -1,41 +1,34 @@
|
|
|
-\documentclass[a4paper]{article}
|
|
|
+\documentclass[twoside,openright]{uva-bachelor-thesis}
|
|
|
|
|
|
\usepackage[english]{babel}
|
|
|
\usepackage[utf8]{inputenc}
|
|
|
-\usepackage[usenames,dvipsnames]{xcolor}
|
|
|
-\usepackage{amsmath,hyperref,graphicx,booktabs,float}
|
|
|
+\usepackage{hyperref,graphicx,float}
|
|
|
|
|
|
% Link colors
|
|
|
-\hypersetup{colorlinks=true,linkcolor=black,urlcolor=blue,citecolor=OliveGreen}
|
|
|
-
|
|
|
-\title{Bachelor thesis\\Universal multi-touch event mechanism}
|
|
|
-\author{\begin{tabular}{ll}
|
|
|
-Name: & Taddeüs Kroes\\
|
|
|
-Student number: & 6054129\\
|
|
|
-E-mail address: & \texttt{taddeus.kroes@student.uva.nl}\\
|
|
|
-Address: & Wethouder van Wijckstraat 40, 1107 BR Amsterdam\\
|
|
|
-Phone number: & 06-23437025\\
|
|
|
-Supervisor: & Dr. R.G. Belleman (UvA)\\
|
|
|
-\end{tabular}}
|
|
|
+%\hypersetup{colorlinks=true,linkcolor=black,urlcolor=blue,citecolor=OliveGreen}
|
|
|
+
|
|
|
+% Title Page
|
|
|
+\title{Universal multi-touch event mechanism}
|
|
|
+\author{Taddeüs Kroes}
|
|
|
+\supervisors{Dr. Robert G. Belleman (UvA)}
|
|
|
+\signedby{Dr. Robert G. Belleman (UvA)}
|
|
|
|
|
|
\begin{document}
|
|
|
|
|
|
% Title page
|
|
|
\maketitle
|
|
|
-\abstract{
|
|
|
+\begin{abstract}
|
|
|
% TODO
|
|
|
-}
|
|
|
+\end{abstract}
|
|
|
|
|
|
% Set paragraph indentation
|
|
|
\parindent 0pt
|
|
|
\parskip 1.5ex plus 0.5ex minus 0.2ex
|
|
|
|
|
|
% Table of contant on separate page
|
|
|
-\pagebreak
|
|
|
\tableofcontents
|
|
|
-\pagebreak
|
|
|
|
|
|
-\section{Introduction}
|
|
|
+\chapter{Introduction}
|
|
|
|
|
|
% Ruwe probleemstelling
|
|
|
Multi-touch interaction is becoming increasingly common, mostly due to the wide
|
|
|
@@ -48,10 +41,9 @@ these frameworks have no access to their multi-touch events.
|
|
|
|
|
|
% Aanleiding
|
|
|
This problem was observed during an attempt to create a multi-touch
|
|
|
-``interactor'' class for the Visualization Toolkit
|
|
|
-(VTK\footnote{\url{http://www.vtk.org/}}). Because VTK provides the application
|
|
|
-framework here, it is undesirable to use an entire framework like Qt
|
|
|
-simultaneously only for its multi-touch support.
|
|
|
+``interactor'' class for the Visualization Toolkit (VTK \cite{VTK}). Because
|
|
|
+VTK provides the application framework here, it is undesirable to use an entire
|
|
|
+framework like Qt simultaneously only for its multi-touch support.
|
|
|
|
|
|
% Ruw doel
|
|
|
The goal of this project is to define a universal multi-touch event triggering
|
|
|
@@ -61,8 +53,8 @@ Python.
|
|
|
% Setting
|
|
|
To test multi-touch interaction properly, a multi-touch device is required.
|
|
|
The University of Amsterdam (UvA) has provided access to a multi-touch table
|
|
|
-from PQlabs. The table uses the TUIO
|
|
|
-protocol\footnote{\url{http://www.tuio.org/}} to communicate touch events.
|
|
|
+from PQlabs. The table uses the TUIO protocol \cite{TUIO} to communicate touch
|
|
|
+events.
|
|
|
|
|
|
% Afbakening
|
|
|
% TODO: moet dit omlaag naar 'Definition of the problem'?
|
|
|
@@ -73,11 +65,11 @@ be added to any implementation. The reference implementation is a Proof of
|
|
|
Concept that translates TUIO events to some simple touch gestures that are used
|
|
|
by a VTK interactor.
|
|
|
|
|
|
- \subsection{Structure of this document}
|
|
|
+ \section{Structure of this document}
|
|
|
|
|
|
% TODO
|
|
|
|
|
|
-\section{Definition of the problem}
|
|
|
+\chapter{Definition of the problem}
|
|
|
|
|
|
% Hoofdvraag
|
|
|
The goal of this thesis is to create a multi-touch event triggering mechanism
|
|
|
@@ -101,11 +93,11 @@ To design such a mechanism properly, the following questions are relevant:
|
|
|
detection could swallow up more processing resources than desired.
|
|
|
\end{itemize}
|
|
|
|
|
|
-\section{Related work}
|
|
|
+\chapter{Related work}
|
|
|
|
|
|
% TODO
|
|
|
|
|
|
-\section{Methods}
|
|
|
+\chapter{Methods}
|
|
|
|
|
|
% TODO
|
|
|
|
|
|
@@ -113,11 +105,10 @@ To design such a mechanism properly, the following questions are relevant:
|
|
|
|
|
|
\subsubsection{The TUIO protocol}
|
|
|
|
|
|
- The TUIO protocol \cite{TUIO_KBBC05} defines a way to geometrically
|
|
|
- describe tangible objects, such as fingers or fiducials on a
|
|
|
- multi-touch table. The table used for this thesis uses the protocol in
|
|
|
- its driver. Object information is sent to the TUIO UDP port (3333 by
|
|
|
- default).
|
|
|
+ The TUIO protocol \cite{TUIO} defines a way to geometrically describe
|
|
|
+ tangible objects, such as fingers or fiducials on a multi-touch table.
|
|
|
+ The table used for this thesis uses the protocol in its driver. Object
|
|
|
+ information is sent to the TUIO UDP port (3333 by default).
|
|
|
|
|
|
For efficiency reasons, the TUIO protocol is encoded using the Open
|
|
|
Sound Control
|
|
|
@@ -186,49 +177,49 @@ To design such a mechanism properly, the following questions are relevant:
|
|
|
% Results
|
|
|
% -------
|
|
|
|
|
|
-\section{Server structure}
|
|
|
+\chapter{Server structure}
|
|
|
|
|
|
% TODO: link naar appendix met schema
|
|
|
|
|
|
- \subsection{Input server}
|
|
|
+ \section{Input server}
|
|
|
|
|
|
% TODO
|
|
|
% vertaling driver naar point down, move, up
|
|
|
% TUIO in reference implementation
|
|
|
|
|
|
- \subsection{Gesture server}
|
|
|
+ \section{Gesture server}
|
|
|
|
|
|
- \subsubsection{Windows}
|
|
|
+ \subsection{Windows}
|
|
|
|
|
|
% TODO
|
|
|
% toewijzen even aan deel v/h scherm:
|
|
|
% TUIO coördinaten zijn over het hele scherm en van 0.0 tot 1.0, dus moeten
|
|
|
% worden vertaald naar pixelcoördinaten binnen een ``window''
|
|
|
|
|
|
- \subsubsection{Trackers}
|
|
|
+ \subsection{Trackers}
|
|
|
|
|
|
% TODO
|
|
|
% event binding/triggering
|
|
|
% extendability
|
|
|
|
|
|
-\section{Reference implementation}
|
|
|
+\chapter{Reference implementation}
|
|
|
|
|
|
% TODO
|
|
|
% draw.py
|
|
|
% VTK interactor
|
|
|
|
|
|
-\section{Conclusions}
|
|
|
+\chapter{Conclusions}
|
|
|
|
|
|
% TODO
|
|
|
% Windows zijn een manier om globale events toe te wijzen aan vensters
|
|
|
% Trackers zijn een effectieve manier om gebaren te detecteren
|
|
|
% Trackers zijn uitbreidbaar door object-orientatie
|
|
|
|
|
|
-\section{Suggestions for future work}
|
|
|
+\chapter{Suggestions for future work}
|
|
|
|
|
|
% TODO: Network protocol (ZeroMQ)
|
|
|
|
|
|
-\section{References}
|
|
|
+\chapter{References}
|
|
|
|
|
|
\bibliography{report}{}
|
|
|
\bibliographystyle{plain}
|