From: Thomas Pietrzak Date: Thu, 7 Apr 2022 13:41:03 +0000 (+0200) Subject: Summon example X-Git-Tag: first-full-draft~24 X-Git-Url: https://git.thomaspietrzak.com/?a=commitdiff_plain;h=ff342fcd9ff9918ba8614104f8b69687283ef1b7;p=hdr.git Summon example --- diff --git a/figures/handopen.pdf b/figures/handopen.pdf new file mode 100644 index 0000000..9b10b79 Binary files /dev/null and b/figures/handopen.pdf differ diff --git a/figures/handopen.svg b/figures/handopen.svg new file mode 100644 index 0000000..27faaa1 --- /dev/null +++ b/figures/handopen.svg @@ -0,0 +1,191 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/handpinch1.pdf b/figures/handpinch1.pdf new file mode 100644 index 0000000..379150a Binary files /dev/null and b/figures/handpinch1.pdf differ diff --git a/figures/handpinch1.svg b/figures/handpinch1.svg new file mode 100644 index 0000000..7cfea09 --- /dev/null +++ b/figures/handpinch1.svg @@ -0,0 +1,144 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/handpinch2.pdf b/figures/handpinch2.pdf new file mode 100644 index 0000000..b6b3e42 Binary files /dev/null and b/figures/handpinch2.pdf differ diff --git a/figures/handpinch2.svg b/figures/handpinch2.svg new file mode 100644 index 0000000..aac25f8 --- /dev/null +++ b/figures/handpinch2.svg @@ -0,0 +1,141 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/summonexample.tex b/figures/summonexample.tex new file mode 100644 index 0000000..8ac321a --- /dev/null +++ b/figures/summonexample.tex @@ -0,0 +1,99 @@ +%!TEX root = ../hdrmain.tex + +\begin{figure}[htb] + \centering + \def\partw{69} + \def\barw{20} + \def\barh{2.5} + \def\cursorw{1} + % #1: vertical pos + % #2: cursor pos + % #3: bar border color + % #4: cursor border color + \newcommand{\scrollbar}[4]{ + \draw[style=bar, preaction={postaction={draw=#3, line width=1}}] ({-\barw / 2}, #1) rectangle ++(\barw,\barh); + \draw [draw=black!30, line width=1] ({-\barw / 2 + 0.2}, {#1 + \barh / 2}) -- ++({\barw - 0.4},0); + \draw[style=cursor, preaction={postaction={draw=#4, line width=1}}] (#2,#1) rectangle ++(\cursorw,\barh); + } + \newcommand{\buttons}{ + \node[style=button] () at (-7.3,14) {1}; + \node[style=button] () at (0,14) {2}; + \node[style=button] () at (7.3,14) {3}; + } + % \tikzexternalenable + \begin{tikzpicture}[x=1mm, y=1mm, + bar/.style={draw=none,preaction={clip,postaction={fill=black!20, draw=black!50, line width=1}}, rounded corners=1}, + cursor/.style={draw=none,preaction={clip, postaction={fill=black!50, draw=black!50, line width=1}}, rounded corners=1}, + button/.style={preaction={clip,postaction={fill=black!20, draw=black!50, line width=2}}, minimum width=6mm, rounded corners=2}] + \small + \def\circleradius{14} + \begin{scope} + \buttons + \scrollbar{0}{-10}{black!50}{black!50} + \scrollbar{4}{-10}{black!50}{black!50} + \scrollbar{8}{-10}{black!50}{black!50} + \node[] () at (0,-15) {\includegraphics[height=2cm]{figures/handopen}}; + \node (lbl) at (0,-30) {(0)}; + \end{scope} + \begin{scope}[xshift=\partw] + \buttons + \scrollbar{0}{-10}{black!50}{black!50} + \scrollbar{4}{-10}{myblue}{black!50} + \scrollbar{8}{-10}{black!50}{black!50} + \node[] () at (0,-12) {\includegraphics[height=2cm]{figures/handpinch2}}; + \node (lbl) at (0,-30) {(1)}; + \node (lbl2) at (0,-34) {Summon}; + \end{scope} + \begin{scope}[xshift={\partw * 2}] + \buttons + \scrollbar{0}{-10}{myblue}{black!50} + \scrollbar{4}{-10}{black!50}{black!50} + \scrollbar{8}{-10}{black!50}{black!50} + \node[opacity=0.2] () at (0,-12) {\includegraphics[height=2cm]{figures/handpinch2}}; + \node[] () at (0,-17) {\includegraphics[height=2cm]{figures/handpinch2}}; + \draw[-Stealth, line width=1] (0,-10) -- (0,-20); + \node (lbl) at (0,-30) {(2)}; + \node (lbl2) at (0,-34) {Disambiguate}; + \end{scope} + \begin{scope}[xshift={\partw * 3}] + \buttons + \scrollbar{0}{-10}{myblue}{myred} + \scrollbar{4}{-10}{black!50}{black!50} + \scrollbar{8}{-10}{black!50}{black!50} + \node[] () at (-5,-15) {\includegraphics[height=2cm]{figures/handpinch1}}; + \node (lbl) at (0,-30) {(3.1)}; + \end{scope} + \begin{scope}[xshift={\partw * 4}] + \buttons + \scrollbar{0}{-1}{myblue}{myred} + \scrollbar{4}{-10}{black!50}{black!50} + \scrollbar{8}{-10}{black!50}{black!50} + \node[opacity=0.2] () at (-5,-15) {\includegraphics[height=2cm]{figures/handpinch1}}; + \node[] () at (5,-15) {\includegraphics[height=2cm]{figures/handpinch1}}; + \draw[-Stealth, line width=1] (-5,-15) -- (5,-15); + \node (lbl) at (0,-30) {(3.2)}; + \node (lbl2) at (0,-34) {Manipulate}; + \draw (lbl2.west) -- ++(-15,0) (lbl2.east) -- ++(15,0); + \end{scope} + \begin{scope}[xshift={\partw * 5}] + \buttons + \scrollbar{0}{-1}{myblue}{myred} + \scrollbar{4}{-10}{black!50}{black!50} + \scrollbar{8}{-10}{black!50}{black!50} + \node[] () at (5,-15) {\includegraphics[height=2cm]{figures/handpinch2}}; + \node (lbl) at (0,-30) {(3.3)}; + \end{scope} + \begin{scope}[xshift={\partw * 6}] + \buttons + \scrollbar{0}{-1}{black!50}{black!50} + \scrollbar{4}{-10}{black!50}{black!50} + \scrollbar{8}{-10}{black!50}{black!50} + \node[] () at (0,-15) {\includegraphics[height=2cm]{figures/handopen}}; + \node (lbl) at (0,-30) {(4)}; + \node (lbl2) at (0,-34) {Release}; + \end{scope} + \end{tikzpicture} + %\tikzexternaldisable + \caption[Summon interaction]{Steps of summon \& select for the bottom slider. (0) Idle (1) Summoning gesture for slider (2) Disambiguating by zoning to the desired slider (blue focus moves to the bottom slider) (3.1-3.3) Manipulation: (3.1) Enter Drag gesture to enter dragging mode (red box around the bar) (3.2) Dragging the slider bar (3.3) Exit Drag gesture to exit dragging mode (4) Release gesture to release the control.} + \label{fig:summonexample} +\end{figure} diff --git a/tex/4-loop.tex b/tex/4-loop.tex index c1c43d6..27d7788 100644 --- a/tex/4-loop.tex +++ b/tex/4-loop.tex @@ -736,6 +736,8 @@ As a consequence, the system constantly interprets the users' actions. Therefore the user is always potentially interacting with the environment. This is known as the Midas touch problem, as a reference to the Midas king in the greek mythology, who turned everything he was touching to gold. +\input{figures/summonexample.tex} + \subsubsection{Haptic direct Manipulation} \label{sec:hapticdm} ~\cite{gupta16,gupta16a}