Flexible pens structure + prototypes + figures
authorThomas Pietrzak <thomas.pietrzak@gmail.com>
Mon, 15 Nov 2021 15:04:09 +0000 (16:04 +0100)
committerThomas Pietrzak <thomas.pietrzak@gmail.com>
Mon, 15 Nov 2021 15:04:09 +0000 (16:04 +0100)
figures/flexstylus.jpg [new file with mode: 0644]
figures/flexuralstiffnesses.tex [new file with mode: 0644]
figures/hyperbrush.png [new file with mode: 0644]
tex/3-input.tex

diff --git a/figures/flexstylus.jpg b/figures/flexstylus.jpg
new file mode 100644 (file)
index 0000000..f7bf809
Binary files /dev/null and b/figures/flexstylus.jpg differ
diff --git a/figures/flexuralstiffnesses.tex b/figures/flexuralstiffnesses.tex
new file mode 100644 (file)
index 0000000..3d06644
--- /dev/null
@@ -0,0 +1,142 @@
+%!TEX root = ../hdrmain.tex
+
+\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
+  % 4: nb
+  % 5: color
+  \newcommand{\screw}[5]{
+    \pgfmathsetmacro{\wl}{#1 / 2}
+    \pgfmathsetmacro{\wm}{\wl - #2 / 2}
+    \pgfmathsetmacro{\ws}{\wl - #2}
+    %background
+    \foreach \x in {1,...,{#4}}
+    {
+      \pgfmathsetmacro{\d}{4 * (\x - 1) * #3}
+      \fill[color=#5]
+      (\d,-\wl) cos 
+      (#3 + \d,-\wm) sin 
+      (#3*2 + \d,-\ws) cos 
+      (#3*3 + \d,-\wm) sin 
+      (#3*4 + \d,-\wl) --
+      (#3*4 + \d,\wl) cos 
+      (#3*3 + \d,\wm) sin 
+      (#3*2 + \d,\ws) cos 
+      (#3 + \d,\wm) sin 
+      (\d,\wl) -- cycle;
+    }
+    %edges
+    \foreach \x in {1,...,{#4}}
+    {
+      \pgfmathsetmacro{\d}{4 * (\x - 1) * #3}
+      \draw[thick]
+      (\d,-\wl) cos 
+      (#3 + \d,-\wm) sin 
+      (#3*2 + \d,-\ws) cos 
+      (#3*3 + \d,-\wm) sin 
+      (#3*4 + \d,-\wl);
+      \draw[thick]
+      (#3*4 + \d,\wl) cos 
+      (#3*3 + \d,\wm) sin 
+      (#3*2 + \d,\ws) cos 
+      (#3 + \d,\wm) sin 
+      (\d,\wl);
+    }
+    %lines
+    \foreach \x in {1,...,{#4}}
+    {
+      \pgfmathsetmacro{\d}{4 * (\x - 1) * #3}
+      \draw[] (\d,-\wl) -- (#3*2 + \d,\ws);
+      \draw[] (#3*2 + \d,-\ws) -- (#3*4 + \d,\wl);
+    }
+    }
+
+  % 1: width
+  % 2: height
+  % 3: screw height
+  % 4: screw width
+  % 5: color
+  \newcommand{\barrel}[5]{
+    \pgfmathsetmacro{\iw}{#4 / 2}
+    \fill[thick, color=#5, draw=black]
+      (0, #1 / 2) --
+      (#2, #1 / 2) --
+      (#2, \iw) --
+      (#3, \iw) --
+      (#3, -\iw) --
+      (#2, -\iw) --
+      (#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}
+      \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};
+      \node[below of=soft] (softstiffness) {\footnotesize $0.1N/mm$};
+    \end{scope}
+
+    % Medium soft
+    \begin{scope}[xshift=3cm]
+      \begin{scope}[rotate=-90]
+        \barrel{11.2}{20}{10}{8}{cellblue}
+        \screw{9}{2}{0.5}{5}{clearblue}
+      \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};
+      \node[below of=mediumsoft] (mediumsoftstiffness) {\footnotesize $0.123N/mm$};
+    \end{scope}
+
+    % Medium
+    \begin{scope}[xshift=6cm]
+      \begin{scope}[rotate=-90]
+        \barrel{11.2}{20}{10}{7.5}{cellblue}
+        \screw{9}{2}{0.5}{5}{clearblue}
+      \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};
+      \node[below of=medium] (mediumstiffness) {\footnotesize $0.129N/mm$};
+    \end{scope}
+
+    % Medium hard
+    \begin{scope}[xshift=9cm]
+      \begin{scope}[rotate=-90]
+        \barrel{11.2}{20}{10}{7}{cellblue}
+        \screw{9}{2}{0.5}{5}{clearblue}
+      \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};
+      \node[below of=mediumhard] (mediumhardstiffness) {\footnotesize $0.134N/mm$};
+    \end{scope}
+
+    % Hard
+    \begin{scope}[xshift=12cm]
+      \begin{scope}[rotate=-90]
+        \barrel{11.2}{20}{10}{6}{cellblue}
+        \screw{9}{2}{0.5}{5}{clearblue}
+      \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};
+      \node[below of=hard] (hardstiffness) {\footnotesize $0.139N/mm$};
+    \end{scope}
+
+  \end{tikzpicture}
+  \tikzexternaldisable
+  \label{fig:flexuralstiffnesses}
+  \caption[Flexural stiffnesses]{Flexural stiffnesses.}
+\end{figure}
diff --git a/figures/hyperbrush.png b/figures/hyperbrush.png
new file mode 100644 (file)
index 0000000..a2b33cb
Binary files /dev/null and b/figures/hyperbrush.png differ
index b1f07f41b9f5bcaaaf07d49e3cc007f4fd122e98..9c88c6b965928da2d6760636cc12a5d4ae3f7d88 100644 (file)
@@ -417,22 +417,83 @@ We used a minimal application for our measures, but real applications most likel
 \subsection{Flexible pens}
 \label{sec:flexiblepens}
 
-FlexStylus \cite{fellion17}
-Hyperbrush \cite{guerrero21}
+Pen interaction is a good example for the exploration of new degrees of freedom.
+This is certainly due to the fact that pens are used in many context, in particular for artistic creation.
+Typical interactive pens sense the x-y position as well as proximity.
+Research explored additional sensing such as pressure~\cite{hinckley13}, tilt~\cite{tian08} and roll~\cite{bi08}.
+Not only this extended input vocabulary can be used to map brush parameters.
+But it also enables selecting commands and offer richer interactions, whether it is with combinations of pen and touch interactions~ or by leveraging physical attributes of the pen~\cite{vogel11}.
+In this work we were interested in the bending of a flexible pen as additional degrees of freedom.
+
+\paragraph{Prototypes}
+
+We built two series of prototypes, the first one being FlexStylus~\cite{fellion16,fellion17} (\reffig{fig:penprototypes}, up).
+It used a custom flexion sensor made with 4 eroded fiber optics, with an infrared LED on one end and phototransistors on the other end each.
+By measuring the amount of light sensed by the phototransistors we could infer two angles and a degree of absolute bending.
+
+The choice of the flexible part did not follow a systematic rationale, but rather general design considerations.
+The idea was to have a diameter similar to the one of a drawing pen.
+It had to be flexible enough to avoid muscle strain, but stiff enough so that users could write and draw conveniently.
+Full length flexible early prototypes shown to be unconvenient for precise manipulation.
+Therefore we chose to limit the flexible part to a few centimeters with a rigid part on both size to keep the benefits of both flexible and rigid pens.
+
+The second series of prototypes, called HyperBrush~\cite{guerrero21} (\reffig{fig:penprototypes}, down), used a consumer electronics bend sensor\footnote{\href{https://www.bendlabs.com/}{https://www.bendlabs.com/}}.
+It provided more precise and reliable inputs.
+However, the interesting new property of these prototypes was the ability to change the flexural stiffness with interchangeable components.
+Both the rigid and flexible parts of the pen are 3D printed, and the flexible part is threaded so that it is screwed to the rigid parts.
+The end sensor slips inside the 3D printed stylus.
+
+The FlexStylus prototypes had an orientation issue.
+Users had no cues on where to hold the stylus.
+Therefore the angles inputs were relative rather than absolute.
+This is the same issue Buxton reports with the iMac Round Mouse\footnote{\href{https://www.microsoft.com/buxtoncollection/detail.aspx?id=109}{https://www.microsoft.com/buxtoncollection/detail.aspx?id=109}}.
+We addressed this issue with the HyperBrush prototypes be adding a fake button that users were encouraged to keep under their index finger.
 
 \begin{figure}[htb]
-  \def\sp{5cm}
-  \tikzexternalenable
-  \begin{tikzpicture}
-    \node[node distance=\sp] (pengrip) at (0,0) {\includegraphics[height=4cm]{figures/flexstylus-pengrip}};
-    \node[right of=pengrip, node distance=\sp] (joystickgrip) {\includegraphics[height=4cm]{figures/flexstylus-joystickgrip}};
-    \node[right of=joystickgrip, node distance=\sp] (rollgrip) {\includegraphics[height=3cm]{figures/flexstylus-rollgrip}};
+  \centering
+  \def\protosize{.7\columnwidth}
+
+  \begin{tikzpicture}[x=1mm,y=1mm,node distance=5mm and 5mm]
+    \node[anchor=south west] (flexstylus) at (0,0) {\includegraphics[width=\protosize]{figures/flexstylus}};
+    \node[anchor=south west] (hyperbrush) at (0,0) {FlexStylus};
+
+    \node[below=5mm of flexstylus.south] (hyperbrush) {\scalebox{-1}[1]{\includegraphics[width=\protosize]{figures/hyperbrush}}};
+    \node[anchor=south west] (hyperbrush) at ($(hyperbrush.south west) - (0,5)$) {HyperBrush};
   \end{tikzpicture}
-  \tikzexternaldisable
+  \label{fig:penprototypes}
+  \caption[Flexible pen prototypes]{Two series of flexible pen prototypes. On the top: FlexStylus with a custom bend sensor made of eroded fiber optics. On the bottom: HyperBrush with a consumer electronics bend sensors, and interchangeable flexible components.}
+\end{figure}
+
+
+\paragraph{Pen grips}
+grip~\cite{song11,hinckley13}
+
+\fixme{Studies show there is a close relationship between how users hold a stylus and their intended purpose~\cite{song11,hinckley13}, and that users often change grips in relation to the task at hand.}
+
+Pen grip: like writing, thumb for bending the pen
+
+joystick grip: hold from the top, tip fixed to the surface, rotation movement
+
+roll grip: in the air between the fingers
+
+brush grip: pen grip but the hand is higher, feels like brush bristles, hence Hyperbrush
+
+\begin{figure}[htb]
+  \includegraphics[height=5cm]{figures/flexstylus-pengrip}
+  \hfill
+  \includegraphics[height=5cm]{figures/flexstylus-joystickgrip}
+  \hfill
+  \includegraphics[height=3cm]{figures/flexstylus-rollgrip}
   \label{fig:flexstylus}
-  \caption[Flexstylus]{Flexstylus}
+  \caption[Flexible pen grips]{Three example of grips with a flexible pen. The pen grip, the joystick grip and the rool grip.}
 \end{figure}
 
+
+
+\paragraph{Flexural stiffness}
+
+\input{figures/flexuralstiffnesses.tex}
+
 \subsection{Finger identification}
 \label{sec:fingeridentification}