({4*\x*#1+4*#1},0);
}
}
+ \def\s{0.03}
+ \def\nl{11}
+ \def\labely{-40}
+ \def\labelw{0.7}
\tikzexternalenable
\begin{tikzpicture}
- \def\s{0.03}
- \def\nl{11}
- \def\labely{-40}
- \def\labelw{0.7}
\pgfmathsetmacro{\setwidth}{(18-\labelw)/6}
\begin{scope}[xshift=-2mm]%[xshift=-\labelw cm]
\foreach \x in {1,...,10}
\end{scope}
}
\end{scope}
- \begin{scope}[xshift=0cm] %Set A
- \node[x=1mm,y=1mm, anchor=center] () at (14,\labely){Set A};
- \foreach \x in {1,...,10}
- {
- \begin{scope}[yshift=(-(\x-1)*\nl)]
- \foreach \y in {1,...,\x}
- {
- \begin{scope}[xshift=(\y*6)]
- \sine{\s}{.10}{1}
- \end{scope}
- }
- \end{scope}
- }
- \end{scope}
- \begin{scope}[xshift=\setwidth cm] %Set B
- \node[x=1mm,y=1mm, anchor=center] () at (14,\labely){Set B};
- \foreach \x in {1,...,10}
- {
- \begin{scope}[yshift=(-(\x-1)*\nl)]
- \sine{\s}{.10}{\x}
- \end{scope}
- }
- \end{scope}
- \begin{scope}[xshift=2*\setwidth cm] %Set C
- \node[x=1mm,y=1mm, anchor=center] () at (14,\labely){Set C};
- \foreach \x in {1,...,10}
- {
- \begin{scope}[yshift=(-(\x-1)*\nl)]
- \pgfmathtruncatemacro{\l}{20-2*\x}
- \ifnum \x < 10
- \sine{\s}{.10}{\l}
- \fi
- \pgfmathsetmacro{\ll}{\l*\s*40-1}
- \begin{scope}[xshift=\ll mm]
- \foreach \y in {1,...,\x} {
- \pgfmathsetmacro{\m}{\y*\s*80}
- \begin{scope}[xshift=\m mm]
- \sine{\s}{.10}{1}
- \end{scope}
- }
+ \node[x=1mm,y=1mm, anchor=center] () at (14,\labely){Set A};
+ \foreach \x in {1,...,10}
+ {
+ \begin{scope}[yshift=(-(\x-1)*\nl)]
+ \foreach \y in {1,...,\x}
+ {
+ \begin{scope}[xshift=(\y*6)]
+ \sine{\s}{.10}{1}
\end{scope}
- \end{scope}
- }
- \end{scope}
- \begin{scope}[xshift=3*\setwidth cm] %Set D
- \node[x=1mm,y=1mm, anchor=center] () at (14,\labely){Set D};
- \foreach \x in {10,...,1}
- {
- \begin{scope}[yshift=(-(10-\x)*\nl)]
- \foreach \y in {1,...,\x} {
- \pgfmathsetmacro{\m}{\y*\s*80}
- \begin{scope}[xshift=\m mm]
- \sine{\s}{.10}{1}
- \end{scope}
- }
- \pgfmathtruncatemacro{\l}{20-2*\x}
- \pgfmathsetmacro{\ll}{\x*\s*80+2}
- \ifnum \x < 10
- \begin{scope}[xshift=\ll mm]
- \sine{\s}{.10}{\l}
- \end{scope}
- \fi
- \end{scope}
- }
- \end{scope}
- \begin{scope}[xshift=4*\setwidth cm] %Set E
- \node[x=1mm,y=1mm, anchor=center] () at (14,\labely){Set E};
- \foreach \x in {1,...,10}
- {
- \begin{scope}[yshift=(-(\x-1)*\nl)]
+ }
+ \end{scope}
+ }
+ \end{tikzpicture}\hfill
+ \begin{tikzpicture} % Set B
+ \node[x=1mm,y=1mm, anchor=center] () at (14,\labely){Set B};
+ \foreach \x in {1,...,10}
+ {
+ \begin{scope}[yshift=(-(\x-1)*\nl)]
+ \sine{\s}{.10}{\x}
+ \end{scope}
+ }
+ \end{tikzpicture}\hfill
+ \begin{tikzpicture} %Set C
+ \node[x=1mm,y=1mm, anchor=center] () at (14,\labely){Set C};
+ \foreach \x in {1,...,10}
+ {
+ \begin{scope}[yshift=(-(\x-1)*\nl)]
+ \pgfmathtruncatemacro{\l}{20-2*\x}
+ \ifnum \x < 10
+ \sine{\s}{.10}{\l}
+ \fi
+ \pgfmathsetmacro{\ll}{\l*\s*40-1}
+ \begin{scope}[xshift=\ll mm]
\foreach \y in {1,...,\x} {
\pgfmathsetmacro{\m}{\y*\s*80}
\begin{scope}[xshift=\m mm]
\sine{\s}{.10}{1}
\end{scope}
}
- \pgfmathtruncatemacro{\l}{20-2*\x}
- \pgfmathsetmacro{\ll}{\x*\s*80+2}
- \ifnum \x < 10
- \begin{scope}[xshift=\ll mm]
- \sine{\s}{.10}{\l}
- \end{scope}
- \fi
\end{scope}
- }
+ \end{scope}
+ }
+ \end{tikzpicture}\hfill
+ \begin{tikzpicture} %Set D
+ \node[x=1mm,y=1mm, anchor=center] () at (14,\labely){Set D};
+ \foreach \x in {10,...,1}
+ {
+ \begin{scope}[yshift=(-(10-\x)*\nl)]
+ \foreach \y in {1,...,\x} {
+ \pgfmathsetmacro{\m}{\y*\s*80}
+ \begin{scope}[xshift=\m mm]
+ \sine{\s}{.10}{1}
+ \end{scope}
+ }
+ \pgfmathtruncatemacro{\l}{20-2*\x}
+ \pgfmathsetmacro{\ll}{\x*\s*80+2}
+ \ifnum \x < 10
+ \begin{scope}[xshift=\ll mm]
+ \sine{\s}{.10}{\l}
+ \end{scope}
+ \fi
+ \end{scope}
+ }
+ \end{tikzpicture}\hfill
+ \begin{tikzpicture} %Set E
+ \node[x=1mm,y=1mm, anchor=center] () at (14,\labely){Set E};
+ \foreach \x in {1,...,10}
+ {
+ \begin{scope}[yshift=(-(\x-1)*\nl)]
+ \foreach \y in {1,...,\x} {
+ \pgfmathsetmacro{\m}{\y*\s*80}
+ \begin{scope}[xshift=\m mm]
+ \sine{\s}{.10}{1}
+ \end{scope}
+ }
+ \pgfmathtruncatemacro{\l}{20-2*\x}
+ \pgfmathsetmacro{\ll}{\x*\s*80+2}
+ \ifnum \x < 10
+ \begin{scope}[xshift=\ll mm]
+ \sine{\s}{.10}{\l}
+ \end{scope}
+ \fi
+ \end{scope}
+ }
+ \end{tikzpicture}\hfill
+ \begin{tikzpicture} %Set F
+ \node[x=1mm,y=1mm, anchor=center] () at (14,\labely){Set F};
+ \foreach \x in {1,...,4}
+ {
+ \pgfmathtruncatemacro{\xx}{\x-1}
+ \begin{scope}[yshift=(-\xx*\nl)]
+ \foreach \y in {0,...,\xx}
+ {
+ \begin{scope}[xshift=(\y*6)]
+ \sine{\s}{.10}{1}
+ \end{scope}
+ }
+ \end{scope}
+ }
+ \begin{scope}[yshift=-4*\nl]
+ \sine{\s}{.10}{7}
\end{scope}
- \begin{scope}[xshift=5*\setwidth cm] %Set F
- \node[x=1mm,y=1mm, anchor=center] () at (14,\labely){Set F};
- \foreach \x in {1,...,4}
- {
- \pgfmathtruncatemacro{\xx}{\x-1}
- \begin{scope}[yshift=(-\xx*\nl)]
- \foreach \y in {0,...,\xx}
+ \foreach \x in {1,...,4}
+ {
+ \begin{scope}[yshift=(-(\x+4)*\nl)]
+ \sine{\s}{.10}{7}
+ \begin{scope}[xshift=22]
+ \foreach \y in {1,...,\x}
{
\begin{scope}[xshift=(\y*6)]
\sine{\s}{.10}{1}
\end{scope}
}
\end{scope}
- }
- \begin{scope}[yshift=-4*\nl]
- \sine{\s}{.10}{7}
\end{scope}
- \foreach \x in {1,...,4}
- {
- \begin{scope}[yshift=(-(\x+4)*\nl)]
- \sine{\s}{.10}{7}
- \begin{scope}[xshift=22]
- \foreach \y in {1,...,\x}
- {
- \begin{scope}[xshift=(\y*6)]
- \sine{\s}{.10}{1}
- \end{scope}
- }
- \end{scope}
- \end{scope}
- }
- \begin{scope}[yshift=-9*\nl]
+ }
+ \begin{scope}[yshift=-9*\nl]
+ \sine{\s}{.10}{7}
+ \begin{scope}[xshift=28]
\sine{\s}{.10}{7}
- \begin{scope}[xshift=28]
- \sine{\s}{.10}{7}
- \end{scope}
\end{scope}
\end{scope}
-% \node[x=1mm,y=1mm, anchor=center] () at (70,-36){Set C};
-% \node[x=1mm,y=1mm, anchor=center] () at (103,-36){Set D};
-% \node[x=1mm,y=1mm, anchor=center] () at (136,-36){Set E};
-% \node[x=1mm,y=1mm, anchor=center] () at (160,-36){Set F};
\end{tikzpicture}
\tikzexternaldisable
\caption[6 pattern sets evaluated in Activibe.]{Visual representation of the 6 pattern sets we evaluated in two laboratory studies, and a longitudinal study.}
%!TEX root = ../hdrmain.tex
\begin{figure}[htb]
- \definecolor{cellred}{rgb} {0.98,0.17,0.15}
- \definecolor{cellblue}{rgb} {0.17,0.60,0.99}
\def\sx{4.7mm}
\def\sy{10mm}
\def\revthickness{1.5pt}
\newcommand{\good}[1]{
- \node[x=\sx,y=\sy, inner sep=1mm,circle,fill=cellblue] at (#1) {};
+ \node[x=\sx,y=\sy, inner sep=1mm,circle,fill=myblue] at (#1) {};
}
\newcommand{\goodrev}[1]{
- \node[x=\sx,y=\sy, inner sep=1mm,circle,fill=cellblue, line width=\revthickness, draw=black] at (#1) {};
+ \node[x=\sx,y=\sy, inner sep=1mm,circle,fill=myblue, line width=\revthickness, draw=black] at (#1) {};
}
\newcommand{\wrong}[1]{
- \node[x=\sx,y=\sy, inner sep=1mm,circle,fill=cellred] at (#1) {};
+ \node[x=\sx,y=\sy, inner sep=1mm,circle,fill=myred] at (#1) {};
}
\newcommand{\wrongrev}[1]{
- \node[x=\sx,y=\sy, inner sep=1mm,circle,fill=cellred, line width=\revthickness, draw=black] at (#1) {};
+ \node[x=\sx,y=\sy, inner sep=1mm,circle,fill=myred, line width=\revthickness, draw=black] at (#1) {};
}
\newcommand{\rev}[1]{
\node[x=\sx,y=\sy, inner sep=1mm,circle,line width=\revthickness, draw=black] at (#1) {};
\def\values{{4,4,3,3,2,2,1,2,2,1,1.3,1.3,1.6,1.6,1.3,1.3,1,1.3,1.3,1,1.3,1.3,1,1.3,1.6,1.6,1.3,1.6,1.6,1.3}}
\def\vtypes{{0,0,0,0,0,0,3,0,1,3,0,2,0,1,0,0,3,0,1,3,0,1,3,2,0,1,3,0,1,3}}
-
+ \tikzexternalenable
\begin{tikzpicture}
%Axis
\draw[x=1mm,y=1mm, <->]
% \node[x=1mm,y=1mm, anchor=center] () at (160,-36){Set F};
\end{tikzpicture}
+ \tikzexternaldisable
\caption[Adaptative procedure.]{Example of an adaptative procedure.}
\label{fig:adaptativeprocedure}
\end{figure}
%!TEX root = ../hdrmain.tex
\begin{figure}[htb]
- \definecolor{cellred}{rgb} {0.98,0.17,0.15}
- \definecolor{cellblue}{rgb} {0.17,0.60,0.99}
\def\scale{1mm}
\newcommand{\nodec}[3]{\node[x=1mm,y=1mm, draw, fill=white, circle, align=center, text width=4mm, minimum size=1mm] (#3) at (#1) {\small #2};}
\nodec{45,10}{$3$}{three};
\nodec{0,10}{$3'$}{threeb};
- \draw[x=\scale, y=\scale, ->, -stealth', draw=cellred, ultra thick] (0,20) -- (one);
- \draw[x=\scale, y=\scale, ->, -stealth', draw=cellred, ultra thick] (one) -- (45,20) -- (oneb);
- \draw[x=\scale, y=\scale, ->, -stealth', draw=cellred, ultra thick] (oneb) -- (two);
+ \draw[x=\scale, y=\scale, ->, -stealth', draw=myred, ultra thick] (0,20) -- (one);
+ \draw[x=\scale, y=\scale, ->, -stealth', draw=myred, ultra thick] (one) -- (45,20) -- (oneb);
+ \draw[x=\scale, y=\scale, ->, -stealth', draw=myred, ultra thick] (oneb) -- (two);
- \draw[x=\scale, y=\scale, ->, -stealth', draw=cellblue, ultra thick] (two) -- (three);
- \draw[x=\scale, y=\scale, ->, -stealth', draw=cellblue, ultra thick] (three) -- (15,20) -- (threeb);
+ \draw[x=\scale, y=\scale, ->, -stealth', draw=myblue, ultra thick] (two) -- (three);
+ \draw[x=\scale, y=\scale, ->, -stealth', draw=myblue, ultra thick] (three) -- (15,20) -- (threeb);
\draw[x=\scale, y=\scale, draw, ultra thick, dashed] (one) -- (oneb);
\draw[x=\scale, y=\scale, draw, ultra thick, dashed] (three) -- (threeb);
- \draw[x=\scale, y=\scale, draw=cellred, ultra thick] (90,40) -- (98,40);
+ \draw[x=\scale, y=\scale, draw=myred, ultra thick] (90,40) -- (98,40);
\node[x=\scale, y=\scale, anchor=west] () at (100,40){Press curve};
- \draw[x=\scale, y=\scale, draw=cellblue, ultra thick] (90,32) -- (98,32);
+ \draw[x=\scale, y=\scale, draw=myblue, ultra thick] (90,32) -- (98,32);
\node[x=\scale, y=\scale, anchor=west] () at (100,32){Release curve};
\draw[x=\scale, y=\scale, draw, ultra thick, dashed] (90,24) -- (98,24);
\node[x=\scale, y=\scale, anchor=west] () at (100,24){Jump};
\barrel{11.2}{20}{10}{9}{myblue}
\screw{9}{2}{0.5}{5}{myblue!50}
\end{scope}
- \draw[size] (-4.5,-21.5) -- (4.5,-21.5) node[midway, below, inner sep=0mm, outer sep=1.5mm]{\scriptsize $9mm$};
+ \draw[size] (-4.5,-21.5) -- (4.5,-21.5) node[midway, below, inner sep=0mm, outer sep=1.5mm]{\scriptsize \qty{9}{\mm}};
\node[anchor=north] (soft) at (0,-25) {Soft};
- \node[below of=soft] (softstiffness) {\scriptsize $0.1N/mm$};
+ \node[below of=soft] (softstiffness) {\scriptsize \qty{0.1}{\newton\per\metre}};
\end{scope}
% Medium soft
\barrel{11.2}{20}{10}{8}{myblue}
\screw{9}{2}{0.5}{5}{myblue!50}
\end{scope}
- \draw[size] (-4,-21.5) -- (4,-21.5) node[midway, below, inner sep=0mm, outer sep=1.5mm]{\scriptsize $8mm$};
+ \draw[size] (-4,-21.5) -- (4,-21.5) node[midway, below, inner sep=0mm, outer sep=1.5mm]{\scriptsize \qty{8}{\mm}};
\node[anchor=north] (mediumsoft) at (0,-25) {Medium soft};
- \node[below of=mediumsoft] (mediumsoftstiffness) {\scriptsize $0.123N/mm$};
+ \node[below of=mediumsoft] (mediumsoftstiffness) {\scriptsize \qty{0.123}{\newton\per\metre}};
\end{scope}
% Medium
\barrel{11.2}{20}{10}{7.5}{myblue}
\screw{9}{2}{0.5}{5}{myblue!50}
\end{scope}
- \draw[size] (-3.75,-21.5) -- (3.75,-21.5) node[midway, below, inner sep=0mm, outer sep=1.5mm]{\scriptsize $7.5mm$};
+ \draw[size] (-3.75,-21.5) -- (3.75,-21.5) node[midway, below, inner sep=0mm, outer sep=1.5mm]{\scriptsize \qty{7.5}{\mm}};
\node[anchor=north] (medium) at (0,-25) {Medium};
- \node[below of=medium] (mediumstiffness) {\scriptsize $0.129N/mm$};
+ \node[below of=medium] (mediumstiffness) {\scriptsize \qty{0.129}{\newton\per\metre}};
\end{scope}
% Medium hard
\barrel{11.2}{20}{10}{7}{myblue}
\screw{9}{2}{0.5}{5}{myblue!50}
\end{scope}
- \draw[size] (-3.5,-21.5) -- (3.5,-21.5) node[midway, below, inner sep=0mm, outer sep=1.5mm]{\scriptsize $7mm$};
+ \draw[size] (-3.5,-21.5) -- (3.5,-21.5) node[midway, below, inner sep=0mm, outer sep=1.5mm]{\scriptsize \qty{7}{\mm}};
\node[anchor=north] (mediumhard) at (0,-25) {Medium hard};
- \node[below of=mediumhard] (mediumhardstiffness) {\scriptsize $0.134N/mm$};
+ \node[below of=mediumhard] (mediumhardstiffness) {\scriptsize \qty{0.134}{\newton\per\metre}};
\end{scope}
% Hard
\barrel{11.2}{20}{10}{6}{myblue}
\screw{9}{2}{0.5}{5}{myblue!50}
\end{scope}
- \draw[size] (-3,-21.5) -- (3,-21.5) node[midway, below, inner sep=0mm, outer sep=1.5mm]{\scriptsize $6mm$};
+ \draw[size] (-3,-21.5) -- (3,-21.5) node[midway, below, inner sep=0mm, outer sep=1.5mm]{\scriptsize \qty{6}{\mm}};
\node[anchor=north] (hard) at (0,-25) {Hard};
- \node[below of=hard] (hardstiffness) {\scriptsize $0.139N/mm$};
+ \node[below of=hard] (hardstiffness) {\scriptsize \qty{0.139}{\newton\per\metre}};
\end{scope}
\end{tikzpicture}
\begin{figure}[htb]
\centering
-\definecolor{cellred}{rgb} {0.98,0.17,0.15}
-\definecolor{cellblue}{rgb} {0.17,0.60,0.99}
\newcommand{\labelcell}[2]{
\node[minimum width=1.0cm, minimum height=.75cm,text width=3.0cm, align=center, outer sep=0, column sep=0cm](#1) {\textbf{#2}};
}
\newcommand{\bluecell}[2]{
- \node[minimum width=3.0cm, minimum height=1.3cm,fill=cellblue, text=white,text width=3.5cm, align=center, rounded corners=2ex, outer sep=0](#1) {#2};
+ \node[minimum width=3.0cm, minimum height=1.3cm,fill=myblue, text=white,text width=3.5cm, align=center, rounded corners=2ex, outer sep=0](#1) {#2};
}
\newcommand{\redcell}[2]{
- \node[minimum width=3.0cm, minimum height=1.3cm,fill=cellred, text=white,text width=3.5cm, align=center, rounded corners=2ex, outer sep=0](#1) {#2};
+ \node[minimum width=3.0cm, minimum height=1.3cm,fill=myred, text=white,text width=3.5cm, align=center, rounded corners=2ex, outer sep=0](#1) {#2};
}
\tikzexternalenable
\begin{tikzpicture}
(12,0) sin (15,10) cos (18,0) sin (21,-10) cos
(24,0);
\node[x=1mm,y=1mm, anchor=center] () at (20,-9){Frequency};
-
- \draw[x=\sx,y=\sy, xshift=55mm, ultra thick]
+ \end{tikzpicture}\hfill
+ \begin{tikzpicture}
+ \draw[x=\sx,y=\sy, ultra thick]
(0,0) sin (1,10) cos (2,0) sin (3,-10) cos
(4,0) sin (5,10) cos (6,0) sin (7,-10) cos
(8,0) sin (9,10) cos (10,0) sin (11,-10) cos
(12,0);
\draw[x=\sx,y=\sy, ultra thick]
- (70,0) sin (71,5) cos (72,0) sin (73,-5) cos (74,0) sin (75,5) cos (76,0) sin (77,-5) cos (78,0) sin (79,5) cos (80,0) sin (81,-5) cos (82,0);
- \node[x=1mm,y=1mm, anchor=center] () at (68,-9){Amplitude};
-
+ (15,0) sin (16,5) cos (17,0) sin (18,-5) cos (19,0) sin (19,5) cos (20,0) sin (21,-5) cos (22,0) sin (23,5) cos (24,0) sin (25,-5) cos (26,0);
+ \node[x=1mm,y=1mm, anchor=center] () at (13,-9){Amplitude};
+ \end{tikzpicture}\hfill
+ \begin{tikzpicture}
+ \draw[x=\sx,y=\sy, ultra thick]
+ (0,0) sin (1,10) cos (2,0) sin (3,-10) cos (4,0) sin (5,10) cos (6,0) sin (7,-10) cos (8,0);
\draw[x=\sx,y=\sy, ultra thick]
- (99,0) sin (100,10) cos (101,0) sin (102,-10) cos (103,0) sin (104,10) cos (105,0) sin (106,-10) cos (107,0);
+ (11,0) sin (12,10) cos (13,0) sin (14,-10) cos (15,0) sin (16,10) cos (17,0) sin (18,-10) cos (19,0) sin (20,10) cos (21,0) sin (22,-10) cos (23,0) sin (24,10) cos (25,0) sin (26,-10) cos (27,0);
+ \node[x=1mm,y=1mm, anchor=center] () at (13,-9){Duration};
+ \end{tikzpicture}\hfill
+ \begin{tikzpicture}
\draw[x=\sx,y=\sy, ultra thick]
- (110,0) sin (111,10) cos (112,0) sin (113,-10) cos (114,0) sin (115,10) cos (116,0) sin (117,-10) cos (118,0) sin (119,10) cos (120,0) sin (121,-10) cos (122,0) sin (123,10) cos (124,0) sin (125,-10) cos (126,0);
- \node[x=1mm,y=1mm, anchor=center] () at (112,-9){Duration};
-
- \draw[x=\sx,y=\sy, xshift=140mm, ultra thick]
(0,0) sin (1,10) cos (2,0) sin (3,-10) cos
(4,0) sin (5,10) cos (6,0) sin (7,-10) cos
(8,0) sin (9,10) cos (10,0) sin (11,-10) cos
(12,0);
- \draw[x=\sx,y=\sy, xshift=155mm, ultra thick]
+ \draw[x=\sx,y=\sy, xshift=15mm, ultra thick]
(0,0) -- (0,10) -- (2,10) -- (2,-10) --
(4,-10) -- (4,10) -- (6,10) -- (6,-10) --
(8,-10) -- (8,10) -- (10,10) -- (10,-10) --
(12,-10) -- (12,0);
- \node[x=1mm,y=1mm, anchor=center] () at (153,-9){Shape};
+ \node[x=1mm,y=1mm, anchor=center] () at (13,-9){Shape};
\end{tikzpicture}
\tikzexternaldisable
\caption[Haptic vocabulary.]{Four parameters of the vibrotactile output vocabulary: frequency, amplitude, duration and shape.}
\begin{figure}[htb]
\centering
- \definecolor{cellred}{rgb} {0.98,0.17,0.15}
- \definecolor{cellblue}{rgb} {0.17,0.60,0.99}
-
\newcommand{\labelcell}[2]{
\node[minimum width=1.0cm, minimum height=.75cm,text width=3.0cm, align=center, outer sep=0, column sep=0cm](#1) {\textbf{#2}};
}
\newcommand{\bluecell}[2]{
- \node[minimum width=3.0cm, minimum height=1.3cm,fill=cellblue, text=white,text width=3.5cm, align=center, rounded corners=2ex, outer sep=0](#1) {#2};
+ \node[minimum width=3.0cm, minimum height=1.3cm,fill=myblue, text=white,text width=3.5cm, align=center, rounded corners=2ex, outer sep=0](#1) {#2};
}
\newcommand{\redcell}[2]{
- \node[minimum width=3.0cm, minimum height=1.3cm,fill=cellred, text=white,text width=3.5cm, align=center, rounded corners=2ex, outer sep=0](#1) {#2};
+ \node[minimum width=3.0cm, minimum height=1.3cm,fill=myred, text=white,text width=3.5cm, align=center, rounded corners=2ex, outer sep=0](#1) {#2};
}
\tikzexternalenable
\begin{tikzpicture}
\tikzexternalenable
\begin{tikzpicture}[x=1mm,y=1mm]
\small
- \coordinate (threshold) at (0,45);
+ \coordinate (threshold) at (13,45);
\coordinate (fingerpoint) at (28.8,26);
\coordinate (buttonpoint) at (56.1,27);
\coordinate (piezopoint) at (83,45);
\coordinate (piezobottom) at ($(piezopoint) - (0,32)$);
%
\node[anchor=south west,inner sep=0,outer sep=0] (oscillo) {
- \includegraphics[width=\columnwidth]{figures/piezotrigger.png}
+ \includegraphics[width=0.98\columnwidth]{figures/piezotrigger.png}
};
%\draw[help lines] (0,0) grid (170,80);
\node[customblue, anchor=north] (finger) at (fingerbottom) {Finger contact};
% Threshold
- \draw[draw=violet, ultra thick] (threshold) to ($(threshold) + (168,0)$);
- \node[violet, anchor=south east] () at ($(threshold) + (160,0)$) {$1.5V$ Threshold};
+ \draw[draw=violet, ultra thick] (threshold) to ($(threshold) + (147,0)$);
+ \node[violet, anchor=south east] () at ($(threshold) + (135,0)$) {\qty{1.5}{\volt} Threshold};
% Arrows
\draw[draw=customblue, -stealth', very thick, anchor=north] (fingerbottom) to (fingerpoint);
\begin{figure}[htb]
\centering
- \definecolor{cellred}{rgb} {0.98,0.17,0.15}
- \definecolor{cellblue}{rgb} {0.17,0.60,0.99}
%
\newcommand{\labelcell}[2]{
\node[minimum width=1.0cm, minimum height=.75cm,text width=3.0cm, align=center, outer sep=0, column sep=0cm](#1) {\textbf{#2}};
}
\newcommand{\bluecell}[2]{
- \node[minimum width=3.0cm, minimum height=1cm,fill=cellblue, text=white,text width=3.5cm, align=center, rounded corners=2ex, outer sep=0](#1) {#2};
+ \node[minimum width=3.0cm, minimum height=1cm,fill=myblue, text=white,text width=3.5cm, align=center, rounded corners=2ex, outer sep=0](#1) {#2};
}
\newcommand{\redcell}[2]{
- \node[minimum width=3.0cm, minimum height=1cm,fill=cellred, text=white,text width=3.5cm, align=center, rounded corners=2ex, outer sep=0](#1) {#2};
+ \node[minimum width=3.0cm, minimum height=1cm,fill=myred, text=white,text width=3.5cm, align=center, rounded corners=2ex, outer sep=0](#1) {#2};
}
\newcommand{\mediumbluecell}[2]{
- \node[minimum width=2.0cm, minimum height=6mm,fill=cellblue, text=white,text width=2.0cm, align=center, rounded corners=2mm, outer sep=0](#1) {\footnotesize #2};
+ \node[minimum width=2.0cm, minimum height=6mm,fill=myblue, text=white,text width=2.0cm, align=center, rounded corners=2mm, outer sep=0](#1) {\footnotesize #2};
}
\newcommand{\mediumredcell}[2]{
- \node[minimum width=2.0cm, minimum height=6mm,fill=cellred, text=white,text width=2.0cm, align=center, rounded corners=2mm, outer sep=0](#1) {\footnotesize #2};
+ \node[minimum width=2.0cm, minimum height=6mm,fill=myred, text=white,text width=2.0cm, align=center, rounded corners=2mm, outer sep=0](#1) {\footnotesize #2};
}
\newcommand{\smallbluecell}[2]{
- \node[minimum width=8mm, minimum height=5mm,fill=cellblue, text=white,text width=8mm, align=center, rounded corners=1mm, outer sep=0](#1) {\scriptsize #2};
+ \node[minimum width=8mm, minimum height=5mm,fill=myblue, text=white,text width=8mm, align=center, rounded corners=1mm, outer sep=0](#1) {\scriptsize #2};
}
\newcommand{\smallredcell}[2]{
- \node[minimum width=8mm, minimum height=5mm,fill=cellred, text=white,text width=8mm, align=center, rounded corners=1mm, outer sep=0](#1) {\scriptsize #2};
+ \node[minimum width=8mm, minimum height=5mm,fill=myred, text=white,text width=8mm, align=center, rounded corners=1mm, outer sep=0](#1) {\scriptsize #2};
}
\tikzexternalenable
\begin{tikzpicture}
% \node[anchor=south, minimum height=0.6cm, minimum width=6cm, thick, draw=black!20,fill=black!20] at (nd.north east) {Computing affordance};
\end{tikzpicture}
\tikzexternaldisable
- \caption{Norman's seven stages of action~\protect\cite{norman02}. It describes how people interact with their environment.}
+ \caption[Seven stages of action]{Norman's seven stages of action~\protect\cite{norman02}. It describes how people interact with their environment.}
\label{fig:sevenstages}
\end{figure}
%!TEX root = ../hdrmain.tex
\begin{figure}[htb]
- \definecolor{cellblue}{rgb} {0.17,0.60,0.99}
+ \definecolor{myblue}{rgb} {0.17,0.60,0.99}
\def\dx{80}
\def\dy{40}
\def\spacing{5}
\linespread{1.0}
\def\n{7}
\pgfmathsetmacro{\nn}{\n - 1}
-
\centering
\tikzexternalenable
\pgfmathsetmacro{\d}{\dx / \m}
\pgfmathsetmacro{\mm}{\m - 1}
\foreach \j in {0,...,\mm} {
- \fill[x=\scale,y=\scale,color=cellblue] (\j*\d,0) rectangle (\j*\d + \d/2,\dy);
+ \fill[x=\scale,y=\scale,color=myblue] (\j*\d,0) rectangle (\j*\d + \d/2,\dy);
}
\draw[x=\scale,y=\scale,color=black] (0,0) rectangle (\dx,\dy);
\end{scope}
\pgfmathsetmacro{\d}{\dy / \m}
\pgfmathsetmacro{\mm}{\m - 1}
\foreach \j in {0,...,\mm} {
- \fill[x=\scale,y=\scale,color=cellblue] (0,\dy - \j*\d) rectangle (\dx,\dy - \j*\d - \d/2);
+ \fill[x=\scale,y=\scale,color=myblue] (0,\dy - \j*\d) rectangle (\dx,\dy - \j*\d - \d/2);
}
\draw[x=\scale,y=\scale,color=black] (0,0) rectangle (\dx,\dy);
\end{scope}
\vspace{1mm}
- \begin{tikzpicture} %squares
+ \begin{tikzpicture}[x=\scale,y=\scale] %squares
\foreach \i in {0,...,\nn} {
\pgfmathsetmacro{\xs}{\i*(\dx+\spacing)*\scale}
\begin{scope}[xshift=\xs]
%\clip[x=\scale,y=\scale,draw] (0,0) rectangle (\dx,\dy);
- \pgfmathsetmacro{\mx}{2^(\i+1)}
- \pgfmathsetmacro{\my}{2^\i}
- \pgfmathsetmacro{\d}{\dx / \mx}
- \pgfmathsetmacro{\mxx}{\mx-1}
- \pgfmathsetmacro{\myy}{\my-1}
- \foreach \j in {0,...,\mxx} {
- \foreach \k in {0,...,\myy} {
- \pgfmathsetmacro{\res}{int(Mod(\j + \k, 2))}
- \ifthenelse{\res = 0}{
- \fill[x=\scale,y=\scale,color=cellblue] (\j*\d,\dy - \k*\d) rectangle (\j*\d + \d,\dy - \k*\d - \d);
- }{}
+ \pgfmathsetmacro{\max}{2 * 2^\i}
+ \pgfmathsetmacro{\d}{\dx / \max}
+ \pgfmathsetmacro{\nb}{4^\i - 1}
+ \pgfmathsetmacro{\maxrow}{2^(\i+1)}
+ \foreach \j in {0,...,\nb} {
+ \pgfmathsetmacro{\px}{int(Mod(\j * 2, \maxrow)) * \d}
+ \pgfmathsetmacro{\ry}{int(\j * 2/ \maxrow)}
+ \pgfmathsetmacro{\py}{\ry * \d}
+ \pgfmathsetmacro{\res}{int(Mod(\ry, 2))}
+ \ifthenelse{\res = 0}{
+ \fill[color=myblue] (\px,\dy-\py) rectangle ++(\d,-\d);
+ }{
+ \fill[color=myblue] (\d+\px,\dy-\py) rectangle ++(\d,-\d);
}
}
\draw[x=\scale,y=\scale,color=black] (0,0) rectangle (\dx,\dy);
\pgfmathsetmacro{\res}{int(Mod(\j + \k, 2))}
\pgfmathsetmacro{\resb}{int(Mod(\k, 2))}
\ifthenelse{\res = 0 \AND \resb = 0}{
- \fill [x=\scale,y=\scale,color=cellblue] (\j*\d+\dd,\dy-\k*\d-\dd) circle (\dd);
+ \fill [x=\scale,y=\scale,color=myblue] (\j*\d+\dd,\dy-\k*\d-\dd) circle (\dd);
}{}
}
}
\wlog{\i ; \j ; nbc \nbc ; cs \cs ; ci \ci ; d \d}
%\node[x=\scale,y=\scale, anchor=center] () at (10,(\i*10)) {\ci};
\ifthenelse{\res = 1}{
- \fill [x=\scale,y=\scale,color=cellblue] (\dx / 2,\dy / 2) circle (\d);
+ \fill [x=\scale,y=\scale,color=myblue] (\dx / 2,\dy / 2) circle (\d);
}{
\fill [x=\scale,y=\scale,color=white] (\dx / 2,\dy / 2) circle (\d);
}
(38,0) sin (41,10) cos (44,0) sin (48,-10) cos
(52,0) sin (57,10) cos (62,0);
\node[x=1mm,y=1mm, anchor=center] () at (18,-13){Frequency modulation};
-
- \draw[x=\sx,y=\sy, xshift=71mm, ultra thick]
+ \end{tikzpicture}\hfill
+ \begin{tikzpicture}
+ \draw[x=\sx,y=\sy, ultra thick]
(0,0) sin (1,5) cos (2,0) sin (3,-5) cos
(4,0) sin (5,7) cos (6,0) sin (7,-7) cos
(8,0) sin (9,9) cos (10,0) sin (11,-9) cos
(20,0) sin (21,7) cos (22,0) sin (23,-7) cos
(24,0) sin (25,5) cos (26,0) sin (27,-5) cos
(28,0);
- \node[x=1mm,y=1mm, anchor=center] () at (84,-13){Amplitude modulation};
-
- \draw[x=0.5mm,y=\sy, xshift=140mm, ultra thick]
+ \node[x=1mm,y=1mm, anchor=center] () at (14,-13){Amplitude modulation};
+ \end{tikzpicture}\hfill
+ \begin{tikzpicture}
+ \draw[x=0.5mm,y=\sy, ultra thick]
(0,0) sin (1,10) cos (2,0) sin (3,-10) cos
(4,0) sin (5,10) cos (6,0) sin (7,-10) cos
(8,0) sin (9,10) cos (10,0) sin (11,-10) cos
(48,0) sin (49,10) cos (50,0) sin (51,-10) cos
(52,0) sin (53,10) cos (54,0) sin (55,-10) cos
(56,0);
- \node[x=1mm,y=1mm, anchor=center] () at (154,-13){Rhythm};
+ \node[x=1mm,y=1mm, anchor=center] () at (14,-13){Rhythm};
\end{tikzpicture}
\tikzexternaldisable
\caption[Haptic phrases.]{Three examples of haptic phrases: frequency modulation, amplitude modulation and rhythm.}
%!TEX root = ../hdrmain.tex
-\begin{figure}[htb]
- \definecolor{cellred}{rgb} {0.98,0.17,0.15}
- \definecolor{virt}{rgb} {0.98,0.17,0.15}
- \definecolor{cellblue}{rgb} {0.17,0.60,0.99}
-
+\begin{figure}[htb]
\newcommand{\actuator}[3]{\node[fill=#3, text=white, circle, minimum size=1cm] at (#1) {#2};}
\newcommand{\vibrdot}[2]{\node[fill=#2, circle, minimum size=1mm] at (#1) {};}
\tikzexternalenable
(0,12) -- (0,0) -- (64,0) node [below, xshift=-5] {$time$};
\node[anchor=west] () at (2,12){Sensation};
\foreach \x in {0,...,8} {
- \vibrdot{\x * 8, \x}{virt}
+ \vibrdot{\x * 8, \x}{myred}
}
\node[anchor=center] () at (32,-5){Saltation or Cutaneous rabbit illusion};
\end{scope}
%!TEX root = ../hdrmain.tex
\begin{figure}[htb]
- \definecolor{cellblue}{rgb} {0.17,0.60,0.99}
\def\dx{75}
\def\dy{40}
\def\scale{0.26mm}
\begin{scope}[]
\node[x=\scale,y=\scale, anchor=center] () at (\dx/2,-10){Constant};
- \fill[x=\scale,y=\scale,color=cellblue] (0,0) rectangle (\dx,\dy);
+ \fill[x=\scale,y=\scale,color=myblue] (0,0) rectangle (\dx,\dy);
\draw[x=\scale,y=\scale,color=black] (0,0) rectangle (\dx,\dy);
\end{scope}
\begin{scope}[xshift=3cm]
\pgfmathsetmacro{\x}{\dx/2}
- \fill[x=\scale,y=\scale,color=cellblue] (0,0) rectangle (\x,\dy);
+ \fill[x=\scale,y=\scale,color=myblue] (0,0) rectangle (\x,\dy);
\node[x=\scale,y=\scale, anchor=center] () at (\dx/2,-10){Step};
\draw[x=\scale,y=\scale,color=black] (0,0) rectangle (\dx,\dy);
\end{scope}
\begin{scope}[xshift=6cm]
\pgfmathsetmacro{\x}{\dx/2}
- \fill[x=\scale,y=\scale,color=cellblue] (\x-3,0) rectangle (\x+3,\dy);
+ \fill[x=\scale,y=\scale,color=myblue] (\x-3,0) rectangle (\x+3,\dy);
\node[x=\scale,y=\scale, anchor=center] () at (\dx/2,-10){Shape};
\draw[x=\scale,y=\scale,color=black] (0,0) rectangle (\dx,\dy);
\end{scope}
\pgfmathsetmacro{\p}{\dx / (\n + \dc - 1)}
\pgfmathsetmacro{\w}{\dc*\p}
\pgfmathsetmacro{\nn}{\n-1}
- \fill[x=\scale,y=\scale,color=cellblue] (0,0) rectangle (\w,\dy);
+ \fill[x=\scale,y=\scale,color=myblue] (0,0) rectangle (\w,\dy);
\foreach \i in {1,...,\nn} {
\pgfmathsetmacro{\d}{\i*\p}
- \fill[x=\scale,y=\scale,color=cellblue] (\d,0) rectangle (\d+\w,\dy);
+ \fill[x=\scale,y=\scale,color=myblue] (\d,0) rectangle (\d+\w,\dy);
}
\node[x=\scale,y=\scale, anchor=center] () at (\dx/2,-10){Field};
\draw[x=\scale,y=\scale,color=black] (0,0) rectangle (\dx,\dy);
\pgfmathsetmacro{\d}{0}
\foreach \i [remember=\dd as \d (initially 0)] in {1,...,\n} {
\pgfmathsetmacro{\w}{\dc * \p * \s^\i}
- \fill[x=\scale,y=\scale,color=cellblue] (\d,0) rectangle (\d+\w,\dy);
+ \fill[x=\scale,y=\scale,color=myblue] (\d,0) rectangle (\d+\w,\dy);
\pgfmathsetmacro{\dd}{\d + \p * \s^\i}
}
\node[x=\scale,y=\scale, anchor=center] () at (\dx/2,-10){Gradient};
\foreach \i in {1,...,\n} {
\pgfmathrandominteger{\r}{0}{1}
\ifthenelse{\r = 0}{
- \fill[x=\scale,y=\scale,color=cellblue] (\i*\w,0) rectangle (\i*\w+\w,\dy);
+ \fill[x=\scale,y=\scale,color=myblue] (\i*\w,0) rectangle (\i*\w+\w,\dy);
}{}
}
\node[x=\scale,y=\scale, anchor=center] () at (\dx/2,-10){Random};
%!TEX root = ../hdrmain.tex
\begin{figure}[htb]
- \definecolor{cellblue}{rgb} {0.17,0.60,0.99}
\def\dx{654}
\def\dy{40}
\def\scale{0.26mm}
\def\dc{0.4}
\foreach \i in {0,...,\n} {
\pgfmathsetmacro{\d}{\i*\w}
- \fill[x=\scale,y=\scale,color=cellblue] (\d,0) rectangle (\d+\w*\dc,\dy);
+ \fill[x=\scale,y=\scale,color=myblue] (\d,0) rectangle (\d+\w*\dc,\dy);
}
\end{scope}
\pgfmathsetmacro{\d}{0}
\foreach \i [remember=\dd as \d (initially 0)] in {1,...,\n} {
\pgfmathsetmacro{\w}{\dc * \p * \s^\i}
- \fill[x=\scale,y=\scale,color=cellblue] (\d,0) rectangle (\d+\w,\dy);
+ \fill[x=\scale,y=\scale,color=myblue] (\d,0) rectangle (\d+\w,\dy);
\pgfmathsetmacro{\dd}{\d + \p * \s^\i}
}
\end{scope}
\foreach \i in {1,...,\n} {
\pgfmathrandominteger{\r}{0}{1}
\ifthenelse{\r = 0}{
- \fill[x=\scale,y=\scale,color=cellblue] (\i*\w,0) rectangle (\i*\w+\w,\dy);
+ \fill[x=\scale,y=\scale,color=myblue] (\i*\w,0) rectangle (\i*\w+\w,\dy);
}{}
}
\end{scope}
\def\dc{0.6}
\foreach \i in {0,...,\n} {
\pgfmathsetmacro{\d}{\i*\w}
- \fill[x=\scale,y=\scale,color=cellblue] (\d,0) rectangle (\d+\w*\dc,\dy);
+ \fill[x=\scale,y=\scale,color=myblue] (\d,0) rectangle (\d+\w*\dc,\dy);
}
\end{scope}
\pgfmathsetmacro{\d}{0}
\foreach \i [remember=\dd as \d (initially 0)] in {1,...,\n} {
\pgfmathsetmacro{\w}{\dc * \p * \s^\i}
- \fill[x=\scale,y=\scale,color=cellblue] (\d,0) rectangle (\d+\w,\dy);
+ \fill[x=\scale,y=\scale,color=myblue] (\d,0) rectangle (\d+\w,\dy);
\pgfmathsetmacro{\dd}{\d + \p * \s^\i}
}
\end{scope}
\pgfmathsetmacro{\mm}{\m - 1}
\foreach \i in {0,...,\nn} {
\foreach \j in {0,...,\mm} {
- \fill[x=\scale,y=\scale,color=cellblue] (\i * \nw + \j * \mw,0) rectangle (\i * \nw + \j * \mw + \mw * \mdc,\dy);
+ \fill[x=\scale,y=\scale,color=myblue] (\i * \nw + \j * \mw,0) rectangle (\i * \nw + \j * \mw + \mw * \mdc,\dy);
}
}
\draw[x=\scale,y=\scale,color=black] (0,0) rectangle (\dx,\dy);
\author{\Large Thomas Pietrzak}\r
\date{}\r
\r
-%\includeonly{tex/0-titre,tex/2-output,tex/3-input}\r
-\includeonly{tex/0-titre,tex/4-loop}\r
+%\includeonly{tex/0-titre,tex/00-tocs.tex,tex/2-output,tex/3-input}\r
+\includeonly{tex/0-titre,tex/00-tocs.tex,tex/4-loop}\r
\r
\begin{document}\r
\r
\r
\include{tex/0-titre}\r
\include{tex/00-tocs.tex}\r
- %à supprimer dans la version finale\r
- \tableofcontents\r
\include{tex/00-remerciements}\r
\r
\mainmatter\r
\usepackage{lipsum}
\usepackage{siunitx}
-\sisetup{number-mode=match, per-mode=fraction, range-phrase={--}, range-units = single, product-units = single, list-units = single, output-decimal-marker = {.}}
+\sisetup{mode=match, per-mode=symbol, range-phrase={--}, range-units = single, product-units = single, list-units = single, output-decimal-marker = {.}}
\usepackage{pgfplots}
\usepackage{tikz}
}%chapitres numérotés
{
}%chapitres non numérotés
- {\hfill\contentspage} %numéro de page pour les titres de chapitre
+ {\hfill\contentspage} %numéro de page
+ [\addvspace{0cm}]%dessous
+
+ \titlecontents{section} [0pc]
+ { \addvspace{0pc} }%avant
+ {
+ \hspace{3pc}\contentslabel[\thecontentslabel]{2pc}%
+ }%sections numérotés
+ {}%sections non numérotés
+ {%
+ \titlerule*[0.75em]{.}
+ \contentspage} %numéro de page
+ [\addvspace{0cm}]%dessous
+
+ \titlecontents{subsection} [0pc]
+ { \addvspace{0pc} }%avant
+ {
+ \hspace{4.5pc}\contentslabel[\thecontentslabel]{2.5pc}%
+ }%subsections numérotés
+ {}%subsections non numérotés
+ {%
+ \titlerule*[0.75em]{.}
+ \contentspage} %numéro de page
+ [\addvspace{0cm}]%dessous
+
+ \titlecontents{subsubsection} [0pc]
+ { \addvspace{0pc} }%avant
+ {
+ \hspace{6.5pc}\contentslabel[\thecontentslabel]{3.5pc}%
+ }%subsubsections numérotés
+ {}%subsubsections non numérotés
+ {%
+ \titlerule*[0.75em]{.}
+ \contentspage} %numéro de page
+ [\addvspace{0cm}]%dessous
+
+\titlecontents{figure} [0pc]
+ { \addvspace{0pc} }%avant
+ {
+ \hspace{3pc}\contentslabel[\thecontentslabel]{3pc}%
+ }%figures numérotés
+ {}%figures non numérotés
+ {%
+ \hspace{2mm}\titlerule*[0.75em]{.}
+ \contentspage} %numéro de page
[\addvspace{0cm}]%dessous
\makeatother
\listoffigures
\cleardoublepage
-\listoftables
-\cleardoublepage
+% \listoftables
+% \cleardoublepage
-\listofdefinitions
-\cleardoublepage
+% \listofdefinitions
+% \cleardoublepage
In set A, each value is represented by a series of short pulses, separated by short pauses.
In set B, a continuous vibration represents each value with the duration corresponding to the value.
-\newpage
-
The disadvantage of representing only the value is that even if the user has an idea of the current value, there is no clue about the distance between this value and the maximum value.
Introducing a scale enables the positioning of a value relative to the beginning and the end of a progression.
Sets C-E represent both the value and the scale of a progression in several ways.
However, we want to let such serendipitous behavior happen because it makes interaction with the device richer.
\begin{figure}[htb]
- \includegraphics[height=5cm]{figures/flexstylus-pengrip}
+ \includegraphics[height=48mm]{figures/flexstylus-pengrip}
\hfill
- \includegraphics[height=5cm]{figures/flexstylus-joystickgrip}
+ \includegraphics[height=48mm]{figures/flexstylus-joystickgrip}
\hfill
- \includegraphics[height=3cm]{figures/flexstylus-rollgrip}
- \caption[Flexible pen grips]{Three example of grips with a flexible pen. The pen grip, the joystick grip and the rool grip.}
+ \includegraphics[height=29mm]{figures/flexstylus-rollgrip}
+ \caption[Flexible pen grips]{Three types of grips with a flexible pen. The pen grip, the joystick grip and the rool grip.}
\label{fig:flexstylus}
\end{figure}