A little bit more
This commit is contained in:
parent
445c6287cc
commit
067a164a54
3 changed files with 205 additions and 26 deletions
|
@ -330,3 +330,13 @@
|
||||||
author = {Drenckhan, Wiebke},
|
author = {Drenckhan, Wiebke},
|
||||||
year = {2012}
|
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}
|
||||||
|
}
|
||||||
|
|
193
content.tex
193
content.tex
|
@ -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,
|
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.
|
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}
|
\subsection{Quelques mappings}
|
||||||
Pour apporter des éléments de réponse aux questions des physiciens
|
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
|
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 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
|
d'une présentation de $\mathbb{Z}_{12}$ (figure \ref{fig:dual}) et par
|
||||||
conséquent de son tonnetz associé.
|
conséquent de son tonnetz associé. Il semble donc naturel de se servir de cette
|
||||||
Il semble donc naturel de se servir de cette représentation et d'essayer
|
représentation et d'essayer de voir la mousse comme un tonnetz, c'est à dire un
|
||||||
de voir la mousse comme un tonnetz, c'est à dire un espace pavé de notes.
|
graphe de notes. Plongé dans l'espace, ce pavage du plan est ensuite déformé au
|
||||||
Ce dernier, plongé dans l'espace, est ensuite déformé au gré de l'évolution du
|
gré de l'évolution du système.
|
||||||
système.
|
|
||||||
|
|
||||||
%---
|
%---
|
||||||
\bigskip
|
\bigskip
|
||||||
|
@ -910,17 +1041,17 @@ les transformations se font sur une base métrique.
|
||||||
\label{fig:num}
|
\label{fig:num}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
Un chemin dans une mousse est une suite de sauts entre bulles voisines. Plongé
|
Un chemin dans une mousse est une suite de sauts entre bulles voisines. Dans
|
||||||
dans un tonnetz, ceci correspond à une suite de notes. Dans le graphe de
|
un tonnetz, ceci correspond à une suite de notes. Dans le graphe de Cayley
|
||||||
Cayley de la présentation $g_{4,7}$ du groupe $\mathbb{Z}_{12}$, chaque élément
|
de la présentation $g_{4,7}$ du groupe $\mathbb{Z}_{12}$, chaque élément a
|
||||||
a six voisins, en prenant les directions \texttt{a}, \texttt{b}, \texttt{a+b},
|
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
|
\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
|
(figure \ref{fig:num}) le voisinnage de chaque bulle et nous indiquons ainsi
|
||||||
chemin par une suite d'identifiants correspondant aux directions (uniques) à
|
un chemin par une suite d'identifiants correspondant aux directions (uniques)
|
||||||
prendre. Nous utiliserons par la suite soit des chemins construits à partir de
|
à prendre. Nous utiliserons par la suite soit des chemins construits à partir
|
||||||
points ou définits comme une succession de directions. Dans tous les cas, deux
|
de points ou définits comme une succession de directions. Dans tous les cas,
|
||||||
points consécutifs dans un chemin sont \emph{voisins} dans la mousse ou le
|
deux points consécutifs dans un chemin sont \emph{voisins} dans la mousse ou
|
||||||
graphe de Cayley. On construit les projections de la manière suivante :
|
dans le graphe de Cayley. On construit les projections de la manière suivante :
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item $\pi_{12}$ : on part du plan $P_1$, dans lequel se trouve un chemin $c$
|
\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$.
|
de longueur $n$ constitué des \emph{points} $p_1$, $p_2$, …, $p_n$.
|
||||||
|
@ -988,16 +1119,27 @@ déformé.
|
||||||
\clearpage
|
\clearpage
|
||||||
\section{Implementation}
|
\section{Implementation}
|
||||||
\label{sec: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 à
|
Tous les mappings ont été implémentés grâce aux outils présents à
|
||||||
l'\ircam, notamment \modalys, pour la synthèse modale, et
|
l'\ircam, notamment \modalys, pour la synthèse modale, et
|
||||||
\openmusic\ comme environnement de programmation principal.
|
\openmusic\ comme environnement de programmation principal.
|
||||||
|
|
||||||
D'autres outils ont été employés pour les études préliminaires mais n'ont été
|
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}.
|
utilisés pour l'implémentation finale :
|
||||||
|
\begin{itemize}
|
||||||
Les mappings M$_1$, M$_2$, M$_3$ et M$_4$ ont été mis en pratique, à
|
\item Max, un environnement de programmation visuelle temps réel dédié aux
|
||||||
l'exception de l'extension des chemins rythmiques à l'aide des courbes
|
interactions visuelle et musicale, considéré pour la sonification de M$_1$ et
|
||||||
fractales continues remplissant le plan.
|
\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}
|
\subsection{Modalys}
|
||||||
\modalys\ (anciennement appelé Mosaïc) est un outil de synthèse modale par
|
\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é
|
l'archer frottant sur la corde pourraient être respectivement l'objet modélisé
|
||||||
et l'interaction.
|
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).
|
liste de modes propres de vibration (fréquence, bande passante, amplitude).
|
||||||
|
|
||||||
\subsection{OpenMusic}
|
\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
|
en \lisp\ directement. Plusieurs primitives de \modalys\ sont directement
|
||||||
accessibles dans \openmusic.
|
accessibles dans \openmusic.
|
||||||
|
|
||||||
\subsection{Mappings}
|
\subsection{Organisation des patchs}
|
||||||
|
|
||||||
|
|
||||||
\section{Validation}
|
\section{Validation}
|
||||||
Chaque mapping a été testé avec différents paramètres et sur différents
|
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}
|
\subsection{Une amélioration des mapping}
|
||||||
comparaison delaunay / voisin mousse
|
comparaison delaunay / voisin mousse
|
||||||
|
|
||||||
|
Peut-on reconnaitre la forme d'un tambour ?
|
||||||
|
|
||||||
Un meilleur traitement local/global (id Laurent)
|
Un meilleur traitement local/global (id Laurent)
|
||||||
|
|
||||||
\subsection{Une validation approfondie}
|
\subsection{Une validation approfondie}
|
||||||
Écoutes beaucoup sujets, statistiques
|
Écoutes beaucoup sujets, statistiques
|
||||||
|
|
||||||
\subsection{Développement d'un cadre général}
|
\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.
|
Fait l'objet d'un sujet de thèse à l'\textsc{Édite} de Paris VI.
|
||||||
|
|
24
memoire.tex
24
memoire.tex
|
@ -9,6 +9,8 @@
|
||||||
\usepackage[french]{babel}
|
\usepackage[french]{babel}
|
||||||
\usepackage{url}
|
\usepackage{url}
|
||||||
\usepackage{tikz}
|
\usepackage{tikz}
|
||||||
|
\usetikzlibrary{petri}
|
||||||
|
\usetikzlibrary{shapes}
|
||||||
\usetikzlibrary{positioning}
|
\usetikzlibrary{positioning}
|
||||||
\usepackage[lofdepth,lotdepth]{subfig}% replaces subfigure
|
\usepackage[lofdepth,lotdepth]{subfig}% replaces subfigure
|
||||||
\usepackage{scrtime}
|
\usepackage{scrtime}
|
||||||
|
@ -43,6 +45,28 @@
|
||||||
\item }%
|
\item }%
|
||||||
{\end{list}}
|
{\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}
|
\begin{document}
|
||||||
\titlehead{{\Large\ircam\hfill\lps}\\%
|
\titlehead{{\Large\ircam\hfill\lps}\\%
|
||||||
UMR 9912 - STMS \hfill UMR 8502 - Université Paris-Sud\\%
|
UMR 9912 - STMS \hfill UMR 8502 - Université Paris-Sud\\%
|
||||||
|
|
Loading…
Reference in a new issue