A little bit more

This commit is contained in:
Martin Potier 2012-08-12 20:40:08 +02:00
parent 445c6287cc
commit 067a164a54
3 changed files with 205 additions and 26 deletions

View file

@ -330,3 +330,13 @@
author = {Drenckhan, Wiebke},
year = {2012}
}
@techreport{giavitto_mgs_2001,
address = {CNRS, Universit\'e d'\'Evry Val d'Essonne, \'Evry, France},
author = {Giavitto, Jean-Louis and Michel, Olivier},
institution = {Laboratoire de M\'ethodes Informatiques},
keywords = {ds2, mgs, tissue\_modelling},
month = {Mai},
title = {{MGS}: a {P}rogramming {L}anguage for the {T}ransformations of {T}opological {C}ollections},
year = {2001}
}

View file

@ -737,7 +737,139 @@ Dans le graphe de Cayley associé à cette présentation, l'espace se replie sur
lui même après 4 « sauts » de tierce Majeure ou 12 « sauts » de quinte juste,
on a ainsi un tore. Nous travaillons dans un dépliage de ce tore.
%Chemins hamiltoniens dans le tonnetz \cite{albini_hamiltonian_2009}.
Tout graphe de Cayley possède des chemins fermés, par exemple dans le graphe
construit à partir de deux générateurs $a$ et $b$, le chemin suivant décrit par
le mot $w$ est fermé en toute généralité :
$$ w = a + b + -b + -a $$
Certains graphes de Cayley possèdent des chemins fermés qui leur sont
\emph{spécifiques} ; en reprenant l'exemple précédant augmenté de la contrainte
de commutativité $ a + b = b + a $, on obtient un autre chemin fermé décrit par
le mot $w$ :
$$ w = a + b + -a + -b $$
%%Chemins hamiltoniens dans le tonnetz \cite{albini_hamiltonian_2009}.
%Simple topological collections can be defined as \emph{group based fields}
%(GBF), that can be considered as associative arrays whose indexes are elements
%in a group~\cite{giavitto01c}. The group is defined by a \emph{finite
%presentation}:
%$$
%G = \langle
%\GBF{g}_1, \dots, \GBF{g}_n ;
%w_1 = 0, \dots w_n = 0
%\rangle
%$$
%where $G_g = \{ \GBF{g}_i \}$ is a set of generators together with some
%constraints $w_j$ on their combinations: $w_j \in G_g^*$ is a group element
%which equates to zero (we consider here only abelian groups and therefore
%we use an additive notation: 0 denotes the identity element of the group).
%%%
%Thus a GBF can be pictured as a labelled graph where the underlying graph
%is the Cayley graph of the finite presentation. The labels are the values
%associated with the vertices and the generators are associated with the
%edges. In other words, the set of vertices $\PosSet^0 = G$ and there is an
%edge labelled by $\GBF{g}_k \in G_g$ between the vertices $h$ and $h'$ iff
%$h + \GBF{g}_k = h'$.
%
%For instance, in order to define a square grid, we may use two generators
%\GBF{e} (east) and \GBF{n} (north). This is illustrated in the left part of
%Fig.~\ref{fig:grids}.
\begin{figure}[!b]
\begin{center}
\begin{tikzpicture}
\draw[densely dotted] (-.9,-.9) grid (3.9,2.9);
\draw[fill] (1,0) circle (1.5pt) node[above right]
{\GBF{e}};
\draw[fill] (0,2) circle (1.5pt) node[above left]
{$2\cdot\GBF{n}$};
\draw[fill] (0,1) circle (1.5pt) node[above left]
{\GBF{n}};
\draw[fill] (1,2) circle (1.5pt) node[above right,cover]
{$2\cdot\GBF{n}+\GBF{e}$};
\draw[thick,->] (0,0) -- (1,0);
\draw[thick,->] (0,0) -- (0,2);
\draw[thick,->] (0,0) -- (0,1);
\draw[thick,->] (1,0) -- (1,2);
\draw[thick,->] (0,2) -- (1,2);
\draw[fill=white] (0,0) circle (1.5pt) node[below,cover]
{$0\cdot\GBF{n} = 0\cdot\GBF{e}$};
%
\begin{scope}[shift={(8,-.2)},scale=1.2]
\path[clip](-.8,-.8) rectangle (3.1,2.3);
\foreach \x in {-2,...,3}
\foreach \y in {-2,...,3}
\draw[densely dotted] (0,0) ++(0:\x) ++(60:\y) -- ++(60:1)
-- ++(-60:1) -- +(180:1);
\draw[fill] (0,0) ++(60:1) circle (1.5pt) node[above left,cover]
{\GBF{n}};
\draw[thick,->] (0,0) -- ++(60:1);
\draw[fill] (0,0) ++(120:1) circle (1.5pt) node[above,cover]
{\GBF{nw}};
\draw[thick,->] (0,0) -- ++(120:1);
\draw[fill] (0,0) ++(60:2) circle (1.5pt) node[above left,cover]
{$2\cdot\GBF{n}$};
\draw[thick,->] (0,0) -- ++(60:2);
\draw[fill] (0,0) ++(0:1) circle (1.5pt) node[above,cover]
{\GBF{e}};
\draw[thick,->] (0,0) -- ++(0:1);
\draw[fill] (0,0) ++(60:2) ++(0:1) circle (1.5pt) node[above,cover]
{$2\cdot\GBF{n}+\GBF{e}$};
\draw[thick,->] (0,0) ++(60:2) -- ++(0:1);
\draw[very thick,dashed,->] (0,0) -- ++(0:2) -- ++(60:1) -- ++(120:1);
\draw[fill=white] (0,0) circle (1.5pt) node[below,cover,text
width=16mm,text centered] {$0\cdot\GBF{n} = 0\cdot\GBF{e}$\newline
$= 0\cdot\GBF{nw}$};
\end{scope}
\end{tikzpicture}
\end{center}
\caption{Left: a GBF defining a square grid, with two generators
\GBF{e} and \GBF{n}. Right: a GBF defining a triangular grid with
three generators \GBF{e}, \GBF{n} and \GBF{nw}, and a constraint
$\GBF{n} - \GBF{nw} = \GBF{e}$.}
\label{fig:grids}
\end{figure}
%Similarly, an hexagonal grid can be defined by means of three generators
%\GBF{n}, \GBF{e} and \GBF{nw} (north-west) and a constraint $\GBF{n} -
%\GBF{nw} = \GBF{e}$, as illustrated in the right part of
%Fig.~\ref{fig:grids}. As shown by the dashed path, we have
%$2\cdot\GBF{n}+\GBF{e} = 2\cdot\GBF{e} + \GBF{n} + \GBF{nw}$, which can be
%also checked in an algebraic way, by substituting \GBF{nw} with $\GBF{n} -
%\GBF{e}$ in this equality as allowed by the constraint.
%
%\textbf{(A UPDATER)}
%The GBF structure is thus adequate to define the arrangement on a
%grid, in any number of dimensions. In such grids, a distance can be
%naturally defined as the minimum number of steps in order to reach one
%point from the other (this is the approach of \emph{geometric group
% theory}). For instance, in the triangular grid of
%Fig.~\ref{fig:grids}, points at \GBF{e} and \GBF{n} are at distance
%1 because only one step in direction \GBF{nw} is required to reach the
%latter from the former; similarly, points \GBF{n} and
%$2\cdot\GBF{n}+\GBF{e}$ are at distance 2. Let us denote by
%$\Delta(x,y)$ the distance between two points $x$ and $y$. It is easy
%to check that $\Delta(x,y) = \Delta(y,x)$ for any $x$ and $y$.
%
%Such a distance can be used to implement our neighboring relation,
%for instance, for $x \neq y$, we could define:
%%
%$$\delta(x,y) \defeq {1 \over \Delta(x,y)}$$
%%
%which matches the intuition that $\delta(x,y) = 1$ for two immediate
%neighbors while $\delta(x,y)$ converges toward $0$ when $x$ and $y$
%become farther one each other.
%
%The main drawback with grids is that inserting new elements is
%possible only if a hole is already present. Consider for instance
%Fig.~\ref{fig:limitation} and assume that the modules represent
%cells forming a tissue. It would be difficult to model the division of
%cell~3, because there is no free position adjacent to~3. But in many
%biological system, we may expect that the division of cell~3 results
%in ``pulling away'' the neighboring cells. Similarly, if cell~3 is
%called to die, removing it from the grid will result in a disconnected
%tissue, which may be undesirable too.
\subsection{Quelques mappings}
Pour apporter des éléments de réponse aux questions des physiciens
@ -890,11 +1022,10 @@ dimensions}
En effet, on ne peut que noter le parallélisme entre l'organisation hexagonale
d'une mousse régulière (figure \ref{fig:reguliere}) avec un graphe de Cayley
d'une présentation de $\mathbb{Z}_{12}$ (figure \ref{fig:dual}) et par
conséquent de son tonnetz associé.
Il semble donc naturel de se servir de cette représentation et d'essayer
de voir la mousse comme un tonnetz, c'est à dire un espace pavé de notes.
Ce dernier, plongé dans l'espace, est ensuite déformé au gré de l'évolution du
système.
conséquent de son tonnetz associé. Il semble donc naturel de se servir de cette
représentation et d'essayer de voir la mousse comme un tonnetz, c'est à dire un
graphe de notes. Plongé dans l'espace, ce pavage du plan est ensuite déformé au
gré de l'évolution du système.
%---
\bigskip
@ -910,17 +1041,17 @@ les transformations se font sur une base métrique.
\label{fig:num}
\end{figure}
Un chemin dans une mousse est une suite de sauts entre bulles voisines. Plongé
dans un tonnetz, ceci correspond à une suite de notes. Dans le graphe de
Cayley de la présentation $g_{4,7}$ du groupe $\mathbb{Z}_{12}$, chaque élément
a six voisins, en prenant les directions \texttt{a}, \texttt{b}, \texttt{a+b},
\texttt{-a}, \texttt{-b} et \texttt{-(a+b)}. Nous numérotons de manière unique
(figure \ref{fig:num}) le voisinnage de chaque bulle et nous indiquons ainsi un
chemin par une suite d'identifiants correspondant aux directions (uniques) à
prendre. Nous utiliserons par la suite soit des chemins construits à partir de
points ou définits comme une succession de directions. Dans tous les cas, deux
points consécutifs dans un chemin sont \emph{voisins} dans la mousse ou le
graphe de Cayley. On construit les projections de la manière suivante :
Un chemin dans une mousse est une suite de sauts entre bulles voisines. Dans
un tonnetz, ceci correspond à une suite de notes. Dans le graphe de Cayley
de la présentation $g_{4,7}$ du groupe $\mathbb{Z}_{12}$, chaque élément a
six voisins, en prenant les directions \texttt{a}, \texttt{b}, \texttt{a+b},
\texttt{-a}, \texttt{-b} et \texttt{-(a+b)}. Nous numérotons de manière unique
(figure \ref{fig:num}) le voisinnage de chaque bulle et nous indiquons ainsi
un chemin par une suite d'identifiants correspondant aux directions (uniques)
à prendre. Nous utiliserons par la suite soit des chemins construits à partir
de points ou définits comme une succession de directions. Dans tous les cas,
deux points consécutifs dans un chemin sont \emph{voisins} dans la mousse ou
dans le graphe de Cayley. On construit les projections de la manière suivante :
\begin{itemize}
\item $\pi_{12}$ : on part du plan $P_1$, dans lequel se trouve un chemin $c$
de longueur $n$ constitué des \emph{points} $p_1$, $p_2$, …, $p_n$.
@ -988,16 +1119,27 @@ déformé.
\clearpage
\section{Implementation}
\label{sec:implementation}
% État du travail
Les mappings M$_1$, M$_2$, M$_3$ et M$_4$ ont été mis en pratique, à
l'exception de l'extension des chemins rythmiques à l'aide des courbes
fractales continues remplissant le plan. Tous les mappings ont été réalisés
avec \openmusic\ et une librairie pour ce dernier regroupant les principales
fonctions pour la sonification des mousses est en cours de développement,
cependant elle n'est pas prête à l'issue de ce stage et demande encore quelques
améliorations.
Tous les mappings ont été implémentés grâce aux outils présents à
l'\ircam, notamment \modalys, pour la synthèse modale, et
\openmusic\ comme environnement de programmation principal.
D'autres outils ont été employés pour les études préliminaires mais n'ont été
utilisés pour l'implémentation finale : Max et \textsc{Mgs}.
Les mappings M$_1$, M$_2$, M$_3$ et M$_4$ ont été mis en pratique, à
l'exception de l'extension des chemins rythmiques à l'aide des courbes
fractales continues remplissant le plan.
utilisés pour l'implémentation finale :
\begin{itemize}
\item Max, un environnement de programmation visuelle temps réel dédié aux
interactions visuelle et musicale, considéré pour la sonification de M$_1$ et
\item \textsc{Mgs}, un langage de programmation spatiale
\cite{giavitto_mgs_2001}, considéré pour le calcul des projections de M$_3$.
\end{itemize}
\subsection{Modalys}
\modalys\ (anciennement appelé Mosaïc) est un outil de synthèse modale par
@ -1009,7 +1151,7 @@ un point donné de l'espace. Par exemple, le chevalet d'un violon alto et
l'archer frottant sur la corde pourraient être respectivement l'objet modélisé
et l'interaction.
Le profil vibratoire (??) d'un objet modélisé peut être sauvegardé comme une
Le profil vibratoire d'un objet modélisé peut être sauvegardé comme une
liste de modes propres de vibration (fréquence, bande passante, amplitude).
\subsection{OpenMusic}
@ -1022,8 +1164,7 @@ office de fonction anonyme à passer à un autre patch ou à une fonction écrit
en \lisp\ directement. Plusieurs primitives de \modalys\ sont directement
accessibles dans \openmusic.
\subsection{Mappings}
\subsection{Organisation des patchs}
\section{Validation}
Chaque mapping a été testé avec différents paramètres et sur différents
@ -1045,10 +1186,14 @@ abordés.
\subsection{Une amélioration des mapping}
comparaison delaunay / voisin mousse
Peut-on reconnaitre la forme d'un tambour ?
Un meilleur traitement local/global (id Laurent)
\subsection{Une validation approfondie}
Écoutes beaucoup sujets, statistiques
\subsection{Développement d'un cadre général}
Librairie (environnement de sonification)
Fait l'objet d'un sujet de thèse à l'\textsc{Édite} de Paris VI.

View file

@ -9,6 +9,8 @@
\usepackage[french]{babel}
\usepackage{url}
\usepackage{tikz}
\usetikzlibrary{petri}
\usetikzlibrary{shapes}
\usetikzlibrary{positioning}
\usepackage[lofdepth,lotdepth]{subfig}% replaces subfigure
\usepackage{scrtime}
@ -43,6 +45,28 @@
\item }%
{\end{list}}
\tikzset{
>=latex,
every place/.style={minimum size=6mm},
every transition/.style={minimum size=6mm},
token distance=5pt,
}
\tikzstyle{cover}=[fill=white,opacity=.6,text opacity=1,inner
sep=.1em,outer sep=.2333em]
\tikzstyle{lvar}=[draw,circle,minimum size=6mm,inner sep=1pt]
\tikzstyle{trans}=[draw,diamond,minimum size=6mm,inner sep=1pt]
\tikzstyle{gvar}=[draw,rectangle,minimum size=6mm,inner sep=1pt]
\tikzstyle{lmes}=[draw,circle,densely dotted,thick,minimum size=6mm,
inner sep=1pt]
\tikzstyle{gmes}=[draw,rectangle,densely dotted,thick,minimum
size=6mm,inner sep=1pt]
\tikzstyle{activator}=[->]
\tikzstyle{inhibitor}=[-|,shorten >=1pt]
\newcommand{\GBF}[1]{#1}
\newcommand{\PosSet}{PosSet}
\newcommand{\defeq}[1]{defeq~#1}
% ------------------------------------------------------------------------------
\begin{document}
\titlehead{{\Large\ircam\hfill\lps}\\%
UMR 9912 - STMS \hfill UMR 8502 - Université Paris-Sud\\%