Commit a59bfed5 authored by adud's avatar adud

fin des paramètres version β (reculer pour mieux sauter)

parent 6638d054
......@@ -5,7 +5,6 @@
\usepackage{fullpage}
\usepackage{listings}
\usepackage{gensymb}
\usepackage{subfigure}
......@@ -14,6 +13,7 @@
\usepackage{tikz}
\usetikzlibrary{arrows,positioning,fit,shapes,graphs}
\usepackage{hyperref}
% F2D <3
\newcommand{\todo}[1]{\textcolor{red}{TODO: #1}}
......@@ -102,8 +102,6 @@ unnecessary brackets, parentheses, markups. Only indentation. Each sign has:
\begin{itemize}
\item one or many {\it names}
\item a {\it type}, to indicate if it is a one-hand, two-hands, or symmetrical
sign
\item one or many {\it states}, describing the hands during the movement
\item one or many {\it moves}, describing the transitions during two states
\item a {\it facial unit}, describing an expression
......@@ -114,7 +112,6 @@ This is written in Yaml:
\begin{lstlisting}[language=yaml]
Names: [ String ] # the name(s) of the sign
type: String # oneHand or symmetry or twoHands
States: [ HandPair ]
Moves: [ Move ]
Face: FacialUnit
......@@ -123,15 +120,14 @@ should: String # rest or upward or backward or left or right
For a sign to be correct, if there are $N$ states, there should be exactly $N-1$
transitions between these states. The first state of a sign will be called {\it
initial} and the last {\it final}. When there is only one state, this state
is the initial and the final one, and there should not be any move.
initial} and the last {\it final}.
\subsection{Hand Pair}
\label{sec:handpair}
A hand pair is a pair of Hand units, one for the dominating hand, the other one
for the dominated hand. If the movement is in a one-handed sign, the
\texttt{NDH} field should be left empty (\texttt{NDH: \~} in YAML).
for the dominated hand. To indicate that a movement is one-handed, the field
\texttt{NDH} is left empty (\texttt{NDH: \~}).
\begin{lstlisting}[language=yaml]
DH: HandUnit # for dominating hand
......@@ -145,50 +141,62 @@ The Move characterizes the transition between two configurations. It is split
in two parts, the outer move and the inner move.
The outer move is the global trajectory of both hands from one configuration to
another. It can be straight or bown. To know on which plane the bow occurs, we
consider two vectors: $\vec v$ the direction of the movement and $\vec y$ the
another. It can be straight or curved. To know on which plane the curve occurs,
we consider two vectors: $\vec v$ the direction of the movement and $\vec y$ the
upper vector $(0,1,0)$. If $\vec v$ and $\vec y$ are not colinear, the default
bow is clockwise on the oriented plane $[\vec y,\vec v]$. For instance, a move
from right to left will be bowed to the top by default. If $\vec v$ and $\vec y$
are colinear, replace $\vec y$ by $\vec x = (1,0,0)$. Atop of the default plane,
one can reach three other oriented planes, obtained by rotation of $90\degree$
around the vector $\vec v$.
curve is clockwise on the oriented plane $[\vec y,\vec v]$. For instance, a move
from right to left will be curveed to the top by default. If $\vec v$ and
$\vec y$ are colinear, replace $\vec y$ by $\vec x = (1,0,0)$. Atop of the
default plane, one can reach three other oriented planes, obtained by rotation
of $90\degree$ around the vector $\vec v$.
The inner move describes little modifications during the move: it contains the
transition between two hand shapes and little moves added to the outer move. For
instance the movement of \texttt{[momie]} is a straight downward outer move with
a circular inner move that give descending spirals that mimicks the bandages of
the mummy. An ondulation can be achieved with a straigt outer move and an orthogonal straight inner move.
instance the movement of \texttt{[momie]} (see this sign on
\href{https://www.elix-lsf.fr/IMG/mp4/momie_nf_1_2-encoded.mp4}{elix-lsf.fr}) is
a straight downward outer move with a circular inner move that give descending
spirals that mimicks the bandages of the mummy. An ondulation can be achieved
with a straight outer move and an orthogonal straight inner move.
If the inner move is a circle, the rotation occurs on the plane normal to
$\vec v$. With an orientation of $180\degree$, the default plane is normal to
$\vec v$ (i.e. the rotation is done clockwise instead of trigonometric). If the
inner move is straight, to find its default plane, we apply the same rule as the
bow's one. Same as the bow, we can choose 3 other planes, obtained by rotations
of $90\degree$ around $\vec v$.
curve's one. Same as the curve, we can choose 3 other planes, obtained by
rotations of $90\degree$ around $\vec v$.
Repetitions are used to do the same sign many times. The \texttt{back} boolean
indicates if after the repetitions, the movement goes back to its initial
configuration.
Default \texttt{speed} is 3, default \texttt{repeat back shape orient} for the
inner move are \texttt{1 False none 0}, default \texttt{repeat back shape plane}
for the outer move are \texttt{1 False straight 0}.
\begin{lstlisting}[language=yaml]
Move:
speed: Int # from 1 to 5
in:
In:
repeat: Int
back: Bool
shape: String # none or straight or circle
orient: Int # multiples of 90 if straight, multiples of 180 if curved
out:
Out:
repeat: Int
back: Bool
shape: String # straight or curved
plane: Int # multiples of 90
\end{lstlisting}
With no bow, the curve of the outer move should be $0$.
With no curve (straight shape), the curve of the outer move should be $0$.
\section{Hands}
\subsection{Hand Unit}
The Hand Unit contains all the information needed to successfully draw one hand
(in the right position, shape and orientation). No hand position is allowed into
the location of the dominated hand.
(in the right position, shape and orientation). There should never be a hand
position into the location of the dominated hand.
\begin{lstlisting}[language=yaml]
DH:
......@@ -209,9 +217,10 @@ A picture of every hand shape can be found into the \texttt{hand\_shapes} repert
\subsection{Orientation}
This register is used to determine the orientation of the hands, given three rotation angles for the horizontal, frontal and side planes, starting from palms on the side, fingertips pointing to the interlocutor.
\todo{Check vector order with Godot}.
This register is used to determine the orientation of the hands, given three
rotation angles for the side, horizontal and front direction, starting from
palms on the side, fingertips pointing to the interlocutor. Default
\texttt{Orient} is \texttt{[0,0,0]}.
\begin{lstlisting}[language=yaml]
Orient: [Int, Int, Int] # multiples of 45
......@@ -259,36 +268,38 @@ Locate:
\subsection{Facial Unit}
\label{sec:facial-unit}
The face is described with Eyes, cheeks, expression, and lips. Default cheeks,
expr, lips are \texttt{rest}, \texttt{rest}, \texttt{neutral}, \texttt{rest}
The face is described with a look and an expression. There are to ways to write
an expression. Default look, expr are \texttt{partner} \texttt{neutral}.
\begin{lstlisting}[language=yaml]
Face:
Eyes: EyesConfig
cheeks: String # from rest, fill, inside
look: String # from partner, hands, void
expr: String # from sad, happy, confused, angry, surprised, neutral
lips: String # from pi, paf, pu, vibrate, rest
\end{lstlisting}
\subsection{Eyes}
% These lines have been commented: no clash with expr
% eyeshape, eyebrows are \texttt{open}, \texttt{rest} cheeks,
% lips are \texttt{rest}, \texttt{rest}
% eyeshape: String # open or closed or "barely open" or "widely open"
% eyebrows: String # raised or frowning or rest
% cheeks: String # from rest, fill, inside
% lips: String # from pi, paf, pu, vibrate, rest
\begin{lstlisting}[language=yaml]
Eyes:
look: String # from partner, hands, void
shape: String # open or closed or "barely open" or "widely open"
eyebrows: String # raised or frowning or rest
\end{lstlisting}
Default look, shape, eyebrows are \texttt{partner}, \texttt{open},
\texttt{rest}
\section{Default Values}
\label{sec:default-values}
\section{Sentances}
\label{sec:sentances}
Yaml \texttt{NULL} indicator can be used, except for NDH, to indicate default
values. Default values are defined by induction: the default value of a scalar
value is defined in the format, and the default value of a composite element is
the default value of all its elements. For movements and states, the default
values of the non-initial elements are the values of the previous element.
\section{Sentences}
\label{sec:sentences}
Signs can be grouped into sentances. A sentance is a list of signs and
punctuation marks. A mark is either \texttt{par}, \texttt{point} or
\texttt{coma}.
\section{Comparison with SigML}
\label{sec:comp-with-other}
......
......@@ -7,14 +7,13 @@
visage nul, sym par défaut
** DONE Explain Hands default value strange behaviour.
** TODO Add Type, id in parameters
** TODO Add punctuation
** pictures integration (hum...)
** DONE Add punctuation
* Hands
** DONE rewrite Location paragraph
** DONE add doc for all the possible shapes
(just a line saying where the shapes can be found)
** TODO describe every possible trajectory
** DONE describe every possible trajectory
We need dictionnaries
** DONE describe every possible location
We have a picture (hope we’ll have ours soon)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment