\begin{figure}[htb]
\centering
-
% height
% on width
% off width
({(#2 + #3) * (\x + 1)}, 0);
}
}
- \definecolor{cellred}{rgb} {0.98,0.17,0.15}
- \definecolor{cellblue}{rgb} {0.17,0.60,0.99}
-
+%
\tikzexternalenable
\begin{circuitikz}[]
\ctikzset{diodes/scale=0.6, mylength/.style={bipoles/length=#1}}%, elmech/scale=0.6}
\draw (0,0) node[and port] (andgate) {}
- (andgate.in 1) to[short, -o] ++(-0.5,0) node[anchor=east, cellblue] {Frequency}
- (andgate.in 2) to[short, -o] ++(-0.5,0) node[anchor=east, cellred] {Amplitude}
+ (andgate.in 1) to[short, -o] ++(-0.5,0) node[anchor=east, myblue] {Frequency}
+ (andgate.in 2) to[short, -o] ++(-0.5,0) node[anchor=east, myred] {Amplitude}
(andgate.out) node[anchor=west] {};
\draw (andgate.out) -- ++(0.25,0) node[nfet,bodydiode, anchor=G](nmos){};
\begin{tikzpicture}[x=0.8mm,y=0.8mm]
\draw[dotted, step=10] (0,0) grid (80,50);
\begin{scope}[yshift=32mm]
- \sqsignal{10}{20}{20}{2}{0.4mm}{cellblue}
- \node[anchor=east, cellblue] () at (0,5) {Frequency};
+ \sqsignal{10}{20}{20}{2}{0.4mm}{myblue}
+ \node[anchor=east, myblue] () at (0,5) {Frequency};
\end{scope}
\begin{scope}[yshift=16mm]
- \sqsignal{10}{3}{1}{20}{0.4mm}{cellred}
- \node[anchor=east, cellred] () at (0,5) {Amplitude};
+ \sqsignal{10}{3}{1}{20}{0.4mm}{myred}
+ \node[anchor=east, myred] () at (0,5) {Amplitude};
\end{scope}
\begin{scope}[]
\node[anchor=east] () at (0,5) {\textbf{Actuator}};
\filldraw[draw=black, fill=white, thick] (80,10) circle (12);
\clip (80,10) circle (12);
\draw[dotted, step=3] (0,0) grid (90,30);
- \sqsignal{15}{9}{3}{10}{0.6mm}{cellred}
+ \sqsignal{15}{9}{3}{10}{0.6mm}{myred}
\end{scope}
\end{tikzpicture}
\tikzexternaldisable
\begin{figure}[htb]
\centering
- \definecolor{cellred}{rgb} {0.98,0.17,0.15}
- \definecolor{cellblue}{rgb} {0.17,0.60,0.99}
-
\tikzexternalenable
%\begin{circuitikz}[scale=0.8, transform shape]
\begin{circuitikz}[]
- \ctikzset{amplifiers/fill=cellblue, resistors/scale=0.5, component text=left}
+ \ctikzset{amplifiers/fill=myblue, resistors/scale=0.5, component text=left}
\draw (0,0) node[above]{$v_i$} to[short, o-] ++(1,0)
node[op amp, noinv input up, anchor=+, scale=0.7](OA){}
(OA.-) -- ++(0,-0.8) coordinate(outnode)
\fill[white] (-2.1,-1) to[out=150,in=60] (-5.5,-2) to[out=240,in=210] (-2,-6) to[out=30,in=330] cycle;
\end{scope}
}
- \definecolor{cellred}{rgb} {0.98,0.17,0.15}
- \definecolor{cellblue}{rgb} {0.17,0.60,0.99}
\includegraphics[width=7.1cm,valign=t]{figures/vdrift}
\hfill
\adjustbox{valign=t,minipage=9.7cm}{
\centering
\tikzexternalenable
- \begin{tikzpicture}[x=1mm,y=1mm,outer sep=0pt, inner sep=0pt, inner frame sep=0]%, background rectangle/.style={fill=cellblue}, show background rectangle]
+ \begin{tikzpicture}[x=1mm,y=1mm,outer sep=0pt, inner sep=0pt, inner frame sep=0]%, background rectangle/.style={fill=myblue}, show background rectangle]
\begin{scope}
\wheel{90}
- \vibrators{white}{white}{white}{cellred}
+ \vibrators{white}{white}{white}{myred}
\end{scope}
\begin{scope}[xshift=57]
\wheel{45}
- \vibrators{cellred}{white}{white}{cellred}
+ \vibrators{myred}{white}{white}{myred}
\end{scope}
\begin{scope}[xshift=114]
\wheel{0}
- \vibrators{cellred}{white}{white}{white}
+ \vibrators{myred}{white}{white}{white}
\end{scope}
\begin{scope}[xshift=171]
\wheel{-45}
- \vibrators{cellred}{cellred}{white}{white}
+ \vibrators{myred}{myred}{white}{white}
\end{scope}
\begin{scope}[xshift=228]
\wheel{-90}
- \vibrators{white}{cellred}{white}{white}
+ \vibrators{white}{myred}{white}{white}
\end{scope}
\end{tikzpicture}
\begin{tikzpicture}[x=1mm,y=1mm, node distance=0.5mm]
- \node[fill=cellred, draw=black!50, circle] (full) at (0,0) {};
+ \node[fill=myred, draw=black!50, circle] (full) at (0,0) {};
\node[right=of full, anchor=west] {\SI{250}{\hertz} vibration};
\node[fill=white, draw=black!40, circle] (none) at (50,0) {};
\node[right=of none, anchor=west] {no vibration};
\begin{figure}[htb]
\centering\small
- \definecolor{cellred}{rgb} {0.98,0.17,0.15}
- \definecolor{cellblue}{rgb} {0.17,0.60,0.99}
-
% 1: size
% 2: angle
% 3: color
\draw (0,0) circle (\csize);
\ifthenelse{#1 > 0}{% no progress for 0
\ifthenelse{\equal{#1}{360}}{
- \filldraw[fill=cellblue, draw=black] (0,0) circle (\csize);
+ \filldraw[fill=myblue, draw=black] (0,0) circle (\csize);
}{
- \progress{\csize}{#1}{cellblue}
+ \progress{\csize}{#1}{myblue}
}
}{}
}{}% idle
- \filldraw[fill=cellblue, draw=black] (0,0) circle (\scsize);
+ \filldraw[fill=myblue, draw=black] (0,0) circle (\scsize);
}{ \draw[draw=black] (0,0) circle (\scsize); }
\end{scope}
}
\button{black!30}
\cursor{0}{5}{10}{true}{false}
\steplabel{\bf Hover}
- \vibrators{cellred!40}{cellred!40}{cellred!40}{cellred!40}
+ \vibrators{myred!40}{myred!40}{myred!40}{myred!40}
\end{scope}
\begin{scope}[xshift=120]
\button{black!30}
\cursor{0}{5}{10}{true}{true}
- \vibrators{cellred}{cellred}{cellred}{cellred}
+ \vibrators{myred}{myred}{myred}{myred}
\end{scope}
\begin{scope}[xshift=180]
\button{black!30}
\cursor{72}{5}{10}{true}{true}
- \vibrators{cellred}{white}{white}{white}
+ \vibrators{myred}{white}{white}{white}
\end{scope}
\begin{scope}[xshift=240]
\button{black!30}
\cursor{144}{5}{10}{true}{true}
\draw (-50,12) -- (50,12);
\steplabel{\bf Progress}
- \vibrators{white}{cellred}{white}{white}
+ \vibrators{white}{myred}{white}{white}
\end{scope}
\begin{scope}[xshift=300]
\button{black!30}
\cursor{216}{5}{10}{true}{true}
- \vibrators{white}{white}{cellred}{white}
+ \vibrators{white}{white}{myred}{white}
\end{scope}
\begin{scope}[xshift=360]
\button{black!30}
\cursor{288}{5}{10}{true}{true}
- \vibrators{white}{white}{white}{cellred}
+ \vibrators{white}{white}{white}{myred}
\end{scope}
\begin{scope}[xshift=420]
\button{black!30}
\cursor{360}{5}{10}{true}{true}
- \vibrators{cellred}{cellred}{cellred}{cellred}
+ \vibrators{myred}{myred}{myred}{myred}
\steplabel{\bf Activation}
\end{scope}
%legend
\end{tikzpicture}
\vspace{1mm}
\begin{tikzpicture}[x=1mm,y=1mm, node distance=0.5mm]
- \node[fill=cellred, draw=black!50, circle] (full) at (0,0) {};
+ \node[fill=myred, draw=black!50, circle] (full) at (0,0) {};
\node[right=of full, anchor=west] {250Hz vibration};
- \node[fill=cellred!50, draw=black!50, circle] (half) at (50,0) {};
+ \node[fill=myred!50, draw=black!50, circle] (half) at (50,0) {};
\node[right=of half, anchor=west] {50Hz vibration};
\node[fill=white, draw=black!40, circle] (none) at (100,0) {};
\node[right=of none, anchor=west] {no vibration};
\begin{figure}[htb]
\centering
- \definecolor{cellblue}{rgb} {0.17,0.60,0.99}
- \definecolor{clearblue}{rgb} {0.77,0.90,1.0}
-
-
% 1: total width
% 2: small h width
% 3: small v width
(#2, - #1 / 2) --
(0, - #1 / 2) -- cycle;
}
-
+%
\tikzstyle{size} = [|-|]
-
-
+%
\tikzexternalenable
% Soft
\begin{tikzpicture}[x=1mm,y=1mm,node distance=4mm and 1mm]
\begin{scope}[xshift=0cm]
\begin{scope}[rotate=-90]
- \barrel{11.2}{20}{10}{9}{cellblue}
- \screw{9}{2}{0.5}{5}{clearblue}
+ \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$};
\node[anchor=north] (soft) at (0,-25) {Soft};
% Medium soft
\begin{scope}[xshift=3cm]
\begin{scope}[rotate=-90]
- \barrel{11.2}{20}{10}{8}{cellblue}
- \screw{9}{2}{0.5}{5}{clearblue}
+ \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$};
\node[anchor=north] (mediumsoft) at (0,-25) {Medium soft};
% Medium
\begin{scope}[xshift=6cm]
\begin{scope}[rotate=-90]
- \barrel{11.2}{20}{10}{7.5}{cellblue}
- \screw{9}{2}{0.5}{5}{clearblue}
+ \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$};
\node[anchor=north] (medium) at (0,-25) {Medium};
% Medium hard
\begin{scope}[xshift=9cm]
\begin{scope}[rotate=-90]
- \barrel{11.2}{20}{10}{7}{cellblue}
- \screw{9}{2}{0.5}{5}{clearblue}
+ \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$};
\node[anchor=north] (mediumhard) at (0,-25) {Medium hard};
% Hard
\begin{scope}[xshift=12cm]
\begin{scope}[rotate=-90]
- \barrel{11.2}{20}{10}{6}{cellblue}
- \screw{9}{2}{0.5}{5}{clearblue}
+ \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$};
\node[anchor=north] (hard) at (0,-25) {Hard};
\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=2.5cm, minimum height=.85cm,text width=2.0cm, align=center, outer sep=0](#1) {#2};
}
\newcommand{\bluecell}[2]{
- \node[minimum width=2.1cm, minimum height=.85cm,fill=cellblue, text=white,text width=2cm, align=center, rounded corners=2ex, outer sep=0](#1) {#2};
+ \node[minimum width=2.1cm, minimum height=.85cm,fill=myblue, text=white,text width=2cm, align=center, rounded corners=2ex, outer sep=0](#1) {#2};
}
\newcommand{\redcell}[2]{
- \node[minimum width=2.1cm, minimum height=.85cm,fill=cellred, text=white,text width=2cm, align=center, rounded corners=2ex, outer sep=0](#1) {#2};
+ \node[minimum width=2.1cm, minimum height=.85cm,fill=myred, text=white,text width=2cm, align=center, rounded corners=2ex, outer sep=0](#1) {#2};
}
\tikzexternalenable
\begin{tikzpicture}
% (user.south east) edge[bend right] (sensorimotor.south east)
% (execution.south west) edge[bend right] (system.south west)
% (system.north west) to[bend right] (execution.north west);
- \draw [->, -stealth', line width=1mm, draw=cellred!50!black, shorten >= -1.5mm, shorten <= 0.0mm] (sensorimotor.east) to[out=90,in=45] (user.north east);
- \draw [->, -stealth', line width=1mm, draw=cellblue!50!black, shorten >= -1.5mm, shorten <= 0.0mm] (execution.west) to[out=-90,in=225] (system.south west);
+ \draw [->, -stealth', line width=1mm, draw=myred!50!black, shorten >= -1.5mm, shorten <= 0.0mm] (sensorimotor.east) to[out=90,in=45] (user.north east);
+ \draw [->, -stealth', line width=1mm, draw=myblue!50!black, shorten >= -1.5mm, shorten <= 0.0mm] (execution.west) to[out=-90,in=225] (system.south west);
- \draw [->, -stealth', line width=1mm, draw=cellred!50!black, shorten <= -1.5mm] (user.south east) to[out=-45,in=270] (sensorimotor.east);
- \draw [->, -stealth', line width=1mm, draw=cellblue!50!black, shorten <= -1.5mm] (system.north west) to[out=135,in=90] (execution.west);
+ \draw [->, -stealth', line width=1mm, draw=myred!50!black, shorten <= -1.5mm] (user.south east) to[out=-45,in=270] (sensorimotor.east);
+ \draw [->, -stealth', line width=1mm, draw=myblue!50!black, shorten <= -1.5mm] (system.north west) to[out=135,in=90] (execution.west);
\end{tikzpicture}
\tikzexternaldisable
\caption{The similarity of a user and a system interacting with each other.}
\begin{figure}[htb]
\centering
- \definecolor{cellred}{rgb} {0.98,0.17,0.15}
- \definecolor{cellblue}{rgb} {0.17,0.60,0.99}
- \definecolor{celldarkred}{rgb} {0.68,0.15,0.13}
- \definecolor{celldarkblue}{rgb} {0.15,0.40,0.69}
%
\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}[3]{
- \node[minimum width=1.2cm, minimum height=1.2cm,fill=cellblue, text=white,text width=1.2cm, align=center, rounded corners=1mm, outer sep=0](#3) at (#1) {#2};
+ \node[minimum width=1.2cm, minimum height=1.2cm,fill=myblue, text=white,text width=1.2cm, align=center, rounded corners=1mm, outer sep=0](#3) at (#1) {#2};
}
\newcommand{\redcell}[3]{
- \node[minimum width=1.2cm, minimum height=1.2cm,fill=cellred, text=white,text width=1.2cm, align=center, rounded corners=1mm, outer sep=0](#3) at (#1) {#2};
+ \node[minimum width=1.2cm, minimum height=1.2cm,fill=myred, text=white,text width=1.2cm, align=center, rounded corners=1mm, outer sep=0](#3) at (#1) {#2};
}
\newcommand{\darkbluecell}[3]{
- \node[minimum width=1.2cm, minimum height=1.2cm,fill=celldarkblue, text=white,text width=1.2cm, align=center, rounded corners=1mm, outer sep=0](#3) at (#1) {#2};
+ \node[minimum width=1.2cm, minimum height=1.2cm,fill=myblue!50!black, text=white,text width=1.2cm, align=center, rounded corners=1mm, outer sep=0](#3) at (#1) {#2};
}
\newcommand{\darkredcell}[3]{
- \node[minimum width=1.2cm, minimum height=1.2cm,fill=celldarkred, text=white,text width=1.2cm, align=center, rounded corners=1mm, outer sep=0](#3) at (#1) {#2};
+ \node[minimum width=1.2cm, minimum height=1.2cm,fill=myred!50!black, text=white,text width=1.2cm, align=center, rounded corners=1mm, outer sep=0](#3) at (#1) {#2};
}
\newcommand{\dashedcell}[3]{
\node[minimum width=1.2cm, minimum height=1.2cm,dashed, text=black, draw=black, text width=1.2cm, align=center, rounded corners=1mm, outer sep=0](#3) at (#1) {#2};
\begin{figure}[htb]
\centering
- \definecolor{cellred}{rgb} {0.98,0.17,0.15}
\newcommand{\stage}[2]{
- \node[minimum width=2.5cm, minimum height=.85cm,fill=cellred, text=white,text width=2.2cm, align=center, rounded corners=2ex, outer sep=0, execute at begin node=\setlength{\baselineskip}{0em}](#1) {#2};
+ \node[minimum width=2.5cm, minimum height=.85cm,fill=myred, text=white,text width=2.2cm, align=center, rounded corners=2ex, outer sep=0, execute at begin node=\setlength{\baselineskip}{0em}](#1) {#2};
}
\tikzexternalenable
\begin{tikzpicture}
\begin{figure}[htb]
\centering
- \definecolor{cellblue}{rgb} {0.17,0.60,0.99}
-
\newcommand{\stage}[2]{
- \node[minimum width=2.5cm, minimum height=.85cm,fill=cellblue, text=white,text width=2cm, align=center, rounded corners=2ex, outer sep=0, execute at begin node=\setlength{\baselineskip}{0em}](#1) {#2};
+ \node[minimum width=2.5cm, minimum height=.85cm,fill=myblue, text=white,text width=2cm, align=center, rounded corners=2ex, outer sep=0, execute at begin node=\setlength{\baselineskip}{0em}](#1) {#2};
}
\tikzexternalenable
\begin{tikzpicture}
\begin{figure}[htb]
\centering
- \definecolor{cellred}{rgb} {0.98,0.17,0.15}
- \definecolor{cellblue}{rgb} {0.17,0.60,0.99}
-
\def\levelone{10}
\def\leveltwo{16}
\def\levelthree{23}
\def\thickness{18}
-
+%
\tikzexternalenable
\begin{tikzpicture}[x=1mm, y=1mm]
\small
\path[decorate, decoration={text along path, text={|\color{black}|World},text align=center, raise=-0.5ex}] (45:\leveltwo) arc[start angle=45, end angle=-45, radius=\leveltwo];
%User
- \draw[{Triangle Cap[bend]}-{Triangle Cap[bend]}, color=cellred, line width=\thickness] (180:\levelone) arc[start angle=180, end angle=0, radius=\levelone];
+ \draw[{Triangle Cap[bend]}-{Triangle Cap[bend]}, color=myred, line width=\thickness] (180:\levelone) arc[start angle=180, end angle=0, radius=\levelone];
\path[decorate, decoration={text along path, text={|\color{white}|User},text align=center, raise=-0.5ex}] (180:\levelone) arc[start angle=180, end angle=0, radius=\levelone];
%System
- \draw[{Triangle Cap[bend]}-{Triangle Cap[bend]}, color=cellblue, line width=\thickness] (180:\levelone) arc[start angle=180, end angle=360, radius=\levelone];
+ \draw[{Triangle Cap[bend]}-{Triangle Cap[bend]}, color=myblue, line width=\thickness] (180:\levelone) arc[start angle=180, end angle=360, radius=\levelone];
\path[decorate, decoration={text along path, text={|\color{white}|System},text align=center, raise=-0.5ex}] (180:\levelone) arc[start angle=180, end angle=360, radius=\levelone];
%Input pipeline
\draw[{Triangle Cap[bend]}-{Triangle Cap[bend]}, color=black!40, line width=\thickness] (90:\levelthree) arc[start angle=90, end angle=-90, radius=\levelthree];
\path[decorate, decoration={text along path, text={|\color{white}|Input pipeline},text align=center, raise=-0.5ex}] (90:\levelthree) arc[start angle=90, end angle=-90, radius=\levelthree];
- %Haptic pipeline
+ %Output pipeline
\draw[{Triangle Cap[bend]}-{Triangle Cap[bend]}, color=black!60, line width=\thickness] (270:\levelthree) arc[start angle=270, end angle=90, radius=\levelthree];
- \path[decorate, decoration={text along path, text={|\color{white}|Haptic rendering pipeline},text align=center, raise=-0.5ex}] (270:\levelthree) arc[start angle=270, end angle=90, radius=\levelthree];
+ \path[decorate, decoration={text along path, text={|\color{white}|Output pipeline},text align=center, raise=-0.5ex}] (270:\levelthree) arc[start angle=270, end angle=90, radius=\levelthree];
\end{tikzpicture}
\tikzexternaldisable
\caption[Full pipeline.]{Full pipeline.}