master-thesis-presentation/presentation.tex

540 lines
20 KiB
TeX
Raw Normal View History

\documentclass[11pt]{beamer}
\usepackage{xunicode}% for XeTex!
\usepackage{fontspec}% for XeTex!
\usepackage{xltxtra} % for XeTex!
\usepackage{amsfonts}% for Z12
\usepackage[french]{babel}
\usepackage{url}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{positioning}
\usetikzlibrary{fit}
\usetikzlibrary{lindenmayersystems}% for Hilbert curve
2012-08-23 21:07:41 +02:00
\usetikzlibrary{external}
\tikzexternalize[prefix=figs/]
\tikzset{external/system call={xelatex \tikzexternalcheckshellescape
-halt-on-error -interaction=batchmode -jobname "\image" "\texsource"}}
\usepackage[lofdepth,lotdepth]{subfig}% replaces subfigure
% The presentation specific packages
2012-08-23 21:07:41 +02:00
%\usepackage{hyperref}
\usepackage{multimedia}
\defaultfontfeatures{Scale=MatchLowercase}
\setromanfont[Mapping=textext]{Linux Libertine O}
\setsansfont [Mapping=textext]{Ubuntu}
2012-08-24 21:33:20 +02:00
\setmonofont [Mapping=textext]{Inconsolata}
2012-08-23 21:07:41 +02:00
\newcommand{\ircam}{Ircam}
\newcommand{\lps}{Lps}
\newcommand{\lisp}{Lisp}
\newcommand{\mlys}{Modalys}
\newcommand{\om}{OpenMusic}
\newcommand{\mpri}{Mpri}
\newcommand{\todo}{\fbox{\texttt{todo}}}
2012-08-24 21:33:20 +02:00
\newcommand{\sonif}[2]{%
\parbox{2ex}{\includegraphics[height=2ex]{figs/speaker}}%
\hspace{.5em}\emph{#2}}
\hyphenation{con-cen-trent}
\AtBeginSection[]{
\frame{\sectionpage}
}
2012-09-05 17:30:31 +02:00
\pgfdeclarelindenmayersystem{Hilbert curve}{% Rewrite rule for Hilbert curve
\rule{L -> +RF-LFL-FR+}
\rule{R -> -LF+RFR+FL-}}
\begin{document}
2012-08-24 21:33:20 +02:00
\title{De la sonification à la « musification »\\de systèmes complexes}
\subtitle{Présentation de stage}
\author{Martin Potier\\
{\scriptsize MPRI, Université Paris Diderot}}
\date{6 septembre 2012}
2012-08-24 21:33:20 +02:00
\institute{
2012-08-23 21:07:41 +02:00
{\small\textbf{Wiebke Drenckhan}}\\
2012-09-05 17:30:31 +02:00
Laboratoire de Physique des Solides, Université Paris Sud, CNRS \and
{\small\textbf{Moreno Andreatta} et \textbf{Jean-Louis Giavitto}}\\
Équipe Représentation Musicales, Institut de Recherche et Coordination Acoustique/Musique, CNRS}
% Each presentation will last 30 minutes (20 minutes of presentation + 10
% minutes of questions). A video-projector will be available.
\frame{\titlepage}
\begin{frame}{Plan}
\tableofcontents
\end{frame}
2012-09-05 17:30:31 +02:00
\section{Motivations : comment se comporte une mousse ?}
% Trouver des lois d'un système complexe sans connaissance a priori
2012-08-25 17:44:28 +02:00
\begin{frame}{Comprendre l'évolution d'une mousse liquide en deux dimensions}
2012-08-24 21:33:20 +02:00
% movie
2012-09-05 17:30:31 +02:00
%\movie[width=\textwidth,height=.8\textheight]{
% \includegraphics[width=\textwidth,height=.8\textheight]{figs/poster}}
%{figs/coarsening.avi}
\end{frame}
2012-08-23 21:07:41 +02:00
\begin{frame}{Comprendre l'évolution d'une mousse liquide (suite)}
2012-08-25 17:44:28 +02:00
\begin{center}
Comment qualifier ces 3 organisations spatiales ?
\end{center}
2012-08-24 21:33:20 +02:00
\begin{columns}
\column{.3\textwidth}
\includegraphics[width=\textwidth]{figs/foam2D-honeycomb}
\column{.3\textwidth}
\includegraphics[width=\textwidth]{figs/foam2D-grain-boundaries}
\column{.3\textwidth}
\includegraphics[width=\textwidth]{figs/foam2D-disordered}
\end{columns}
\pause
2012-08-25 17:44:28 +02:00
\begin{columns}
\column{.6\textwidth}
\includegraphics[width=\textwidth]{figs/lauriesfoam}
2012-08-24 21:33:20 +02:00
2012-08-25 17:44:28 +02:00
\column{.4\textwidth}
\begin{itemize}
\item 10 ans pour obtenir le modèle !
\item Pourrait-on aller plus vite ?
\item Pourrait-on \emph{entendre} la mousse ?
\end{itemize}
\end{columns}
\end{frame}
2012-08-25 17:44:28 +02:00
\section{De la sonification scientifique\ldots}
\begin{frame}{Un nouveau domaine}
\begin{itemize}
\item Propriétés intéressantes du système auditif : reconnaissance
des objets sonores évoluant \emph{dans le temps}, spatialisation,
multi-échelle, \ldots
\item En parallèle de la \emph{visualisation scientifique} des données.
\end{itemize}
2012-08-24 21:33:20 +02:00
\begin{quote}
« Sonification is the transformation of data relations into perceived
relations in an acoustic signal for the purposes of facilitating
communication or interpretation. »\hfill\textbf{Kramer~1999}
\end{quote}
2012-08-25 17:44:28 +02:00
\pause
2012-08-24 21:33:20 +02:00
\begin{center}
2012-08-23 21:07:41 +02:00
\usebeamercolor{frametitle}
\begin{tikzpicture}[align=center, every node/.style={fg,auto}]
\node (phystate) {État local du système};
\node (phyobs) [below=of phystate] {Observables};
\node (sonrel) [right=of phystate] {Relations sonores\\(analogiques)};
\node (sonobs) [below=of sonrel] {Objets sonores};
\node (qb) at (barycentric cs:phyobs=1,sonobs=1)
2012-08-24 21:33:20 +02:00
[black,yshift=-1cm,font=\scriptsize] {mappings\\sonification};
2012-08-23 21:07:41 +02:00
\draw[thick,->, dotted] (phyobs) -- (phystate);
\draw[black,thick,->] (phyobs) |- (qb) -| (sonobs);
\draw[black,thick,font=\scriptsize,->] (sonobs)
to node [swap,text width=21mm] {perception (IHM)} (sonrel);
\draw[black,thick,->,dotted] (sonrel) to node [swap] {?} (phystate);
\end{tikzpicture}
2012-08-24 21:33:20 +02:00
\end{center}
\end{frame}
2012-08-24 21:33:20 +02:00
\begin{frame}{\sonif{sound/M1}{M$_1$ : synthèse modale, timbre et ordre (30 s)}}
Utilise Modalys (outil de l'IRCAM) pour la synthèse de timbre
2012-08-25 17:44:28 +02:00
\medskip
\begin{center}
\begin{tabular}{|r|l|}
\hline
\textbf{Paramètres des bulles} & \textbf{Paramètres du mapping} \\
\hline
Nombre de voisines & Fréquence \\
Aire & Bande de fréquence \\
Périmètre & Amplitude \\
\hline
\end{tabular}
\end{center}
2012-08-24 21:33:20 +02:00
2012-08-25 17:44:28 +02:00
\medskip
2012-08-24 21:33:20 +02:00
Modalys simule 900 oscillateurs (un par bulle).
2012-08-25 17:44:28 +02:00
\pause\medskip
On peut entendre les 3 configurations spatiales précédentes :
2012-08-24 21:33:20 +02:00
\begin{description}
\item[Ordre] $\rightarrow$ fréquence pure ;
\item[Grain boundaries] $\rightarrow$ battement (deux fréquences proches) ;
\item[Désordre] $\rightarrow$ bruit non caractéristique.
\end{description}
2012-08-25 17:44:28 +02:00
On pourrait faire mieux\ldots
\end{frame}
2012-08-23 21:07:41 +02:00
\section{\ldots à la musification}
\begin{frame}{Enrichir la sonification}
2012-08-24 21:33:20 +02:00
\begin{columns}
\column{.7\textwidth}
\usebeamercolor{frametitle}
\pgfdeclarelayer{background}
\pgfsetlayers{background,main}
\begin{tikzpicture}[align=center, every node/.style={fg,auto}]
\node (phystate) {État local du système};
\node (phyobs) [below=of phystate] {Observables};
\node (sonrel) [right=of phystate] {Relations sonores\\(analogiques)};
\node (musrel) [above=of sonrel] {Relations musicales\\(symboliques)};
\node (sonobs) [below=of sonrel] {Objets sonores};
\node (phyrel) [above=of phystate] {État global du système\\Lois du système};
\node (qt) at (barycentric cs:musrel=1,phyrel=1) [black,yshift=1cm] {?};
\node (qb) at (barycentric cs:phyobs=1,sonobs=1)
[black,yshift=-1cm,font=\scriptsize] {mappings\\sonification/musification};
2012-08-24 21:33:20 +02:00
\draw[thick,->, dotted] (phyobs) -- (phystate);
\draw[thick,->, dotted] (phystate) -- (phyrel);
\draw[black,thick,->] (phyobs) |- (qb) -| (sonobs);
\draw[black,thick,font=\scriptsize,->] (sonobs)
to node [swap,text width=21mm] {perception (IHM)} (sonrel);
\draw[black,thick,->,dotted] (sonrel) to node [swap] {?} (phystate);
\draw[black,thick,->] (sonrel) to (musrel);
\draw[black,thick,->] (musrel.north) |- (qt) -| (phyrel.north);
2012-08-24 21:33:20 +02:00
\begin{pgfonlayer}{background}
\node[draw=gray,dashed,thick,fill=gray!10,inner sep=5mm,xshift=3mm,yshift=-4mm,
fit=(phystate) (sonrel) (sonobs) (phyobs) (qb)] {};
\end{pgfonlayer}
\end{tikzpicture}
2012-08-25 17:44:28 +02:00
\pause
2012-08-24 21:33:20 +02:00
\column{.3\textwidth}
\begin{itemize}
\item plus de paramètres
2012-08-25 17:44:28 +02:00
\item à plusieurs échelles
\item paramètres plus « riches »
2012-08-24 21:33:20 +02:00
\end{itemize}
2012-08-25 17:44:28 +02:00
Bande passante de données à mapper plus grande
2012-08-24 21:33:20 +02:00
\end{columns}
2012-08-23 21:07:41 +02:00
\end{frame}
2012-08-25 17:44:28 +02:00
\begin{frame}{\sonif{sound/M2}{M$_2$ : un mapping rythmique (22 s)}}
2012-08-24 21:33:20 +02:00
\begin{columns}
\column{.5\textwidth}
\includegraphics[width=\textwidth]{figs/chemin-rythm1}
\column{.5\textwidth}
\includegraphics[width=\textwidth]{figs/chemin-rythm2}
\end{columns}
2012-08-25 17:44:28 +02:00
40 premières itérations
\pause
\begin{columns}
\column{.5\textwidth}
\includegraphics[width=\textwidth]{figs/lauriesfoam}
\column{.5\textwidth}
Conclusion :
\begin{itemize}
\item on entend un changement
\item placement de $\Delta$ arbitraire
\item 1D alors que 2D
\end{itemize}
\end{columns}
\end{frame}
2012-08-23 21:07:41 +02:00
\begin{frame}{Des Tonnetz aux graphes de Cayley}
2012-09-05 17:30:31 +02:00
\begin{center}
\includegraphics[width=\textwidth]{figs/piano}
\end{center}
\hspace{2cm}$\downarrow$\hfill$\downarrow$\hspace{2cm}
2012-08-24 21:33:20 +02:00
\begin{columns}[c]
\column{.4\textwidth}
2012-09-05 17:30:31 +02:00
\includegraphics[width=\textwidth]{figs/eulers-tonnetz}\\
{\scriptsize L. Euler (1739)}
2012-08-24 21:33:20 +02:00
\column{.05\textwidth}
$$ \rightarrow $$
\column{.4\textwidth}
\begin{tikzpicture}
[note/.style={draw,black,circle,inner sep=.5mm,minimum size=8mm},
label distance=-1mm,label position=below left,
double distance=.5mm, scale=.5, transform shape]
\node[note,double] (C) {Do };
\node[note,left=of C] (F) {Fa };
\node[note,right=of C] (G) {Sol };
\node[note,right=of G] (D) {};
\node[note,above=of F] (A) {La };
\node[note,right=of A] (E) {Mi };
\node[note,right=of E] (B) {Si };
\node[note,right=of B] (Fd) { Fa\#};
\node[note,above=of A] (Cd) { Do\#};
\node[note,right=of Cd] (Gd) {Sol\#};
\node[note,right=of Gd] (Dd) {\#};
\node[note,right=of Dd] (Ad) { La\#};
\draw (F) -- (C) -- node[above,midway] {+7} (G) -- (D);
\draw (A) -- (E) -- (B) -- (Fd);
\draw (Cd) -- (Gd) -- (Dd) -- (Ad);
\draw (F) -- (A) -- (Cd);
\draw (C) -- node[right,midway] {+4} (E) -- (Gd);
\draw (G) -- (B) -- (Dd);
\draw (D) -- (Fd) -- (Ad);
\draw[dashed] (Cd.north) -- +(0cm ,6mm );
\draw[dashed] (Gd.north) -- +(0cm ,6mm );
\draw[dashed] (Dd.north) -- +(0cm ,6mm );
\draw[dashed] (Ad.north) -- +(0cm ,6mm );
\draw[dashed] (F.south) -- +(0cm ,-6mm);
\draw[dashed] (C.south) -- +(0cm ,-6mm);
\draw[dashed] (G.south) -- +(0cm ,-6mm);
\draw[dashed] (D.south) -- +(0cm ,-6mm);
\draw[dashed] (F.west) -- +(-6mm,0cm );
\draw[dashed] (A.west) -- +(-6mm,0cm );
\draw[dashed] (Cd.west) -- +(-6mm,0cm );
\draw[dashed] (Ad.east) -- +(6mm ,0cm );
\draw[dashed] (Fd.east) -- +(6mm ,0cm );
\draw[dashed] (D.east) -- +(6mm ,0cm );
\end{tikzpicture}
\end{columns}
\medskip
2012-09-05 17:30:31 +02:00
Une présentation possible du groupe $\mathbb{Z}_{12}$ avec deux générateurs :
2012-08-24 21:33:20 +02:00
$$ g_{4,7} = < \mathbf{4}, \mathbf{7}\ |\ 3.\mathbf{4} + 0.\mathbf{7} = 0,\quad0.\mathbf{4} +
12.\mathbf{7} = 0,\quad\mathbf{4} + \mathbf{7} = \mathbf{7} + \mathbf{4} > $$
\end{frame}
2012-08-23 21:07:41 +02:00
\begin{frame}{Des Tonnetz aux graphes de Cayley (suite)}
2012-08-24 21:33:20 +02:00
\begin{center}
\begin{tikzpicture}
[note/.style={draw,black,circle,inner sep=2mm},
hex/.style={},
label distance=-1mm,label position=below left,
double distance=.5mm,xscale=.60\textwidth/9.2cm,
yscale=.50\textwidth/9.2cm]
\begin{scope}[opacity=.5]
\node[note] (F) at (-1cm,0cm) {};
\node[note,double] (C) at ( 1cm,0cm) {};
\node[note] (G) at ( 3cm,0cm) {};
\node[note] (D) at ( 5cm,0cm) {};
\node[note] (A) at ( 0cm,2cm) {};
\node[note] (E) at ( 2cm,2cm) {};
\node[note] (B) at ( 4cm,2cm) {};
\node[note] (Fd) at ( 6cm,2cm) {};
\node[note] (Cd) at ( 1cm,4cm) {};
\node[note] (Gd) at ( 3cm,4cm) {};
\node[note] (Dd) at ( 5cm,4cm) {};
\node[note] (Ad) at ( 7cm,4cm) {};
\draw (F) -- (C) -- (G) -- (D);
\draw (A) -- (E) -- (B) -- (Fd);
\draw (Cd) -- (Gd) -- (Dd) -- (Ad);
\draw (F) -- (A) -- (Cd);
\draw (C) -- (E) -- (Gd);
\draw (G) -- (B) -- (Dd);
\draw (D) -- (Fd) -- (Ad);
\draw (Cd) -- (E) -- (G);
\draw (Gd) -- (B) -- (D);
\draw (Dd) -- (Fd);
\draw (A) -- (C);
\node (1u) at (barycentric cs:A=1,Cd=1,E=1) {};
\node (2u) at (barycentric cs:Gd=1,B=1,E=1) {};
\node (3u) at (barycentric cs:B=1,Dd=1,Fd=1) {};
\node (4u) at (barycentric cs:F=1,A=1,C=1) {};
\node (5u) at (barycentric cs:E=1,G=1,C=1) {};
\node (6u) at (barycentric cs:B=1,G=1,D=1) {};
\node (1d) at (barycentric cs:Cd=1,Gd=1,E=1) {};
\node (2d) at (barycentric cs:Dd=1,Gd=1,B=1) {};
\node (3d) at (barycentric cs:Dd=1,Ad=1,Fd=1) {};
\node (4d) at (barycentric cs:A=1,E=1,C=1) {};
\node (5d) at (barycentric cs:G=1,E=1,B=1) {};
\node (6d) at (barycentric cs:D=1,Fd=1,B=1) {};
\draw[dashed] (Cd.north) -- +(0cm ,6mm );
\draw[dashed] (Gd.north) -- +(0cm ,6mm );
\draw[dashed] (Dd.north) -- +(0cm ,6mm );
\draw[dashed] (Ad.north) -- +(0cm ,6mm );
\draw[dashed] (F.south) -- +(0cm ,-6mm);
\draw[dashed] (C.south) -- +(0cm ,-6mm);
\draw[dashed] (G.south) -- +(0cm ,-6mm);
\draw[dashed] (D.south) -- +(0cm ,-6mm);
\draw[dashed] (F.west) -- +(-6mm,0cm );
\draw[dashed] (A.west) -- +(-6mm,0cm );
\draw[dashed] (Cd.west) -- +(-6mm,0cm );
\draw[dashed] (Ad.east) -- +(6mm ,0cm );
\draw[dashed] (Fd.east) -- +(6mm ,0cm );
\draw[dashed] (D.east) -- +(6mm ,0cm );
\end{scope}
\draw[hex] (1u.center) -- (1d.center) -- (2u.center)
-- (2d.center) -- (3u.center) -- (3d.center);
\draw[hex] (4u.center) -- (4d.center) -- (5u.center)
-- (5d.center) -- (6u.center) -- (6d.center);
\draw[hex] (1u.center) -- (4d.center);
\draw[hex] (2u.center) -- (5d.center);
\draw[hex] (3u.center) -- (6d.center);
\draw[hex,dashed] (1d.center) -- +(0, 1.5cm);
\draw[hex,dashed] (2d.center) -- +(0, 1.5cm);
\draw[hex,dashed] (3d.center) -- +(0, 1.5cm);
\draw[hex,dashed] (4u.center) -- +(0,-1.5cm);
\draw[hex,dashed] (5u.center) -- +(0,-1.5cm);
\draw[hex,dashed] (6u.center) -- +(0,-1.5cm);
\draw[hex,dashed] (1u.center) -- +(150:1.0cm);
\draw[hex,dashed] (4u.center) -- +(150:1.0cm);
\draw[hex,dashed] (3d.center) -- +(-30:1.0cm);
\draw[hex,dashed] (6d.center) -- +(-30:1.0cm);
\end{tikzpicture}
\end{center}
2012-08-25 17:44:28 +02:00
2012-09-05 17:30:31 +02:00
Peut-on entendre la déformation d'une grille hexagonale ?
2012-08-23 21:07:41 +02:00
\end{frame}
2012-08-25 17:44:28 +02:00
\begin{frame}{\sonif{sounds/M3}{M$_3$ : un mapping intervallique (53 s)}}
2012-08-24 21:33:20 +02:00
\begin{columns}
\column{.2\textwidth}
\begin{tikzpicture}[rotate=30,scale=.5,
hex/.style={regular polygon, regular polygon sides=6, draw, inner sep=.5cm,
transform shape, text width=0}]
\node[hex,gray] (5) at ( 30:1.41cm) {}; %5
\node[hex,gray] (6) at ( 90:1.41cm) {}; %6
\node[hex,gray] (1) at (150:1.41cm) {}; %1
\node[hex,gray] (2) at (210:1.41cm) {}; %2
\node[hex,gray] (3) at (270:1.41cm) {}; %3
\node[hex,gray] (4) at (330:1.41cm) {}; %4
\node[hex,thick] (h) at (0,0) {};
\foreach \i in {1,...,6} {
\draw[gray,->,dashed] (h.center) -- (\i) node[gray] {\i} ;}
\end{tikzpicture}
\column{.6\textwidth}
\includegraphics[width=\textwidth]{figs/bulandhex}
\end{columns}
\medskip
\begin{columns}
\column{.3\textwidth}
\includegraphics[width=\textwidth]{figs/hex}
\column{.3\textwidth}
\includegraphics[width=\textwidth]{figs/bul}
\end{columns}
\medskip
\begin{center}
\end{center}
2012-08-23 21:07:41 +02:00
\end{frame}
2012-08-25 17:44:28 +02:00
\begin{frame}{\sonif{sounds/M4}{M$_4$ : un mapping intervallique et rythmique (58 s)}}
2012-09-05 17:30:31 +02:00
Association de M$_2$ (rythme comme distance entre points) et de M$_3$
(intervalles comme projection sur un tonnetz)
2012-08-23 21:07:41 +02:00
\end{frame}
2012-08-25 17:44:28 +02:00
\section{Conclusion}
\begin{frame}{Bilan \& Perspectives}
Réalisation d'une bibliothèque logicielle \textbf{Musify} avec OpenMusic :
2012-08-24 21:33:20 +02:00
\begin{itemize}
2012-08-25 17:44:28 +02:00
\item langage fonctionnel
2012-09-05 17:30:31 +02:00
\item analyse musicale computationnelle
2012-08-25 17:44:28 +02:00
\item réutilisation pour la composition
2012-08-24 21:33:20 +02:00
\end{itemize}
2012-08-25 17:44:28 +02:00
\includegraphics[width=\textwidth]{figs/visual-prog}
2012-08-23 21:07:41 +02:00
\end{frame}
2012-08-25 17:44:28 +02:00
\begin{frame}{Bilan \& Perspectives (suite)}
Les résultats sont encourageants :
\begin{itemize}
2012-09-05 17:30:31 +02:00
\item On repère des phases (épisodes catastrophiques)
2012-08-25 17:44:28 +02:00
\item Faible temps de calcul (< quelques secondes)
2012-09-05 17:30:31 +02:00
\item Beaucoup de variations à étudier
2012-08-25 17:44:28 +02:00
\end{itemize}
2012-08-24 21:33:20 +02:00
Ce qui est prévu :
2012-08-25 17:44:28 +02:00
\begin{itemize}
\item \texttt{gnusic} (en référence à gnuplot)
\item exploration assistée des mappings (système de types ?)
\end{itemize}
2012-08-23 21:07:41 +02:00
\end{frame}
2012-09-05 17:30:31 +02:00
\begin{frame}
\begin{center}
Merci de votre attention
\end{center}
\end{frame}
\bgroup
\setbeamercolor{background canvas}{bg=black}
\begin{frame}[plain]{}
\end{frame}
\egroup
\begin{frame}{Implémentation}
QHull, Triangulation de Delaunay
\end{frame}
\begin{frame}{De 2 à 3 dimensions}
Courbes de Hilbert :
\begin{center}
\begin{figure}[ht]
%\draw [opacity=.2,line join=round,line width=1cm,
% l-system={Hilbert curve, axiom=L, order=2, step=1cm, angle=90}]
\centering
\begin{tikzpicture}[scale=.80]
\clip (-.5,-.5) rectangle (3.5,3.5);
\draw [densely dotted] (-1,-1) grid (4,4);
\draw [l-system={Hilbert curve, axiom=L, order=1, step=3cm, angle=90}]
lindenmayer system;
\foreach \i in {0cm,3cm} {
\foreach \j in {0cm,3cm} {
\fill (\i,\j) circle (2pt);
\fill[opacity=.2] (\i,\j) circle (1.5cm);
}
}
\draw[<->|] (0,0) -- node[above left] {$r$} (45:1.5cm);
\end{tikzpicture}
\hfill
\begin{tikzpicture}[scale=.80]
\clip (-.5,-.5) rectangle (3.5,3.5);
\draw [densely dotted] (-1,-1) grid (4,4);
\draw [l-system={Hilbert curve, axiom=L, order=2, step=1cm, angle=90}]
lindenmayer system;
\foreach \i in {0cm,1cm,2cm,3cm} {
\foreach \j in {0cm,1cm,2cm,3cm} {
\fill (\i,\j) circle (2pt);
\fill[opacity=.2] (\i,\j) circle (0.5cm);
}
}
\draw[<->|] (0,0) -- (45:.5cm);
\end{tikzpicture}
\hfill
\begin{tikzpicture}[scale=.80]
\clip (-.5,-.5) rectangle (3.5,3.5);
\draw [densely dotted] (-1,-1) grid (4,4);
\draw [l-system={Hilbert curve, axiom=L, order=3, step=0.42857143cm, angle=90}]
lindenmayer system;
\foreach \i in {0cm,.42857143cm,.85714286cm,1.2857143cm,1.7142857cm,
2.1428571cm,2.5714286cm,3cm} {
\foreach \j in {0cm,.42857143cm,.85714286cm,1.2857143cm,1.7142857cm,
2.1428571cm,2.5714286cm,3cm} {
\fill (\i,\j) circle (2pt);
\fill[opacity=.2] (\i,\j) circle (.21428571cm);
}
}
\draw[-|] (0,0) -- (45:.21428571cm);
\end{tikzpicture}
\end{figure}
\end{center}
\end{frame}
\end{document}