\documentclass[french]{article}

\usepackage{pgfplots}
\usepackage{tikz}
\usetikzlibrary{arrows,automata}
\usepackage{MyPack2}

\usepackage{diagbox}

\geometry{top=2cm, bottom=2cm, left=2cm, right=2cm}
\title{Étude de laboratoire - ASD}
\author{Binôme A11 \\ \bsc{Simon} Léo, \bsc{Levy--Falk} Hugo \\ Supélec, promo 2020}
\date{\today}

\begin{document}
\maketitle
\tableofcontents
\clearpage
\listoffigures
\newpage
\initPage{TL - ASD}{\today}{\bsc{Simon}, \bsc{Levy--Falk}}

\part{Objectifs de ce TL}
\part{Génération de carte routière réaliste}

\section{Condition pour un graphe de Gabriel}
En notant $\mathcal{V} = \{P_i\}_{1\leq i\leq n}$ un nuage de $n \in \N$ points dans le plan représentants des villes, on définit pour tout $ A,B \in \mathcal{V}, d(A,B)$ la distance à vol d'oiseau entre les deux villes. On décide de placer une arête entre deux points $A$ et $B$ du plan si et seulement si,
\begin{equation}
\forall C \in \mathcal{V}, \forall M \in [A,B], d(M,V) \geq \min \{d(M,A), d(M,B)\} \label{eq:condArete}
\end{equation}

Montrons que la condition \ref{eq:condArete} est équivalente à ce que pour toute paire de sommets $(A,B)$ du nuage, $\{A,B\}$ forme une arête si et seulement si il n'existe pas de points $C \in \mathcal{V}$ dans le cercle de diamètre $[A,B]$. Un graphe vérifiant cette condition sera par la suite appelé \emph{graphe de Gabriel}.

\paragraph{preuve :} {
Soient $A,B \in \mathcal{V}$ et on appelle $\mathcal{C}$ le cercle de diamètre $[A,B]$. La figure \ref{fig:positionsC} montre différentes positions possibles de points.

Supposons qu'il existe une arête reliant les deux points. Si il existe des points du nuage dans le disque ouvert délimité par $\mathcal{C}$, alors il existe un point $M$ qui ne vérifie pas la condition \ref{eq:condArete}, \emph{absurde}.

Réciproquement, si tous les points de $\mathcal{V}$ sont à l'extérieur du cercle ouvert délimité par $\mathcal{C}$, (dans l'exemple $C'$ et $C''$), alors pour tout $P\in \mathcal{V}\ \{A,B\}$, le point $M\in[A,B]$ le plus proche de $P$ vérifie la condition \ref{eq:condArete} (dans l'exemple, les points $M'$ et $M''$).$\square$

\begin{figure}
	\centering
\begin{tikzpicture}
\draw[dashed] (4,0) circle (4);
\draw (0,0) node [anchor=east]{A}	-- (8,0) node[anchor=west]{B};
% intérieur
\draw[dashed] (8,0)	-- (5,2) node[anchor=south]{C} -- (0,0);
\draw[green] (5,2) -- (5,0) node[anchor=north]{M} -- (5,0.2) -- (5.2,0.2)--(5.2,0);
\draw[green,dashed] (5,0) circle (2);

% frontière
\draw[dashed] (8,0)	-- (1.16,2.828) node[anchor=south]{C'} -- (0,0);
\draw[orange] (1.16,2.828) -- (1.16,0) node[anchor=north west]{M'} -- (1.16,0.2) -- (1.36,0.2)--(1.36,0);
\draw[orange,dashed] (1.16,0) circle (1.16);

% extérieur
\draw[dashed] (8,0)	-- (7.4,-4) node[anchor=north]{C''} -- (0,0);
\draw[red] (7.4,-4) -- (7.4,0) node[anchor=north east]{M''} -- (7.4,-0.2) -- (7.6,-0.2)--(7.6,0);
\draw[red,dashed] (7.4,0) circle (0.6);
\end{tikzpicture}
	\caption{Différentes positions possible de points par rapport à $A$ et $B$}
	\label{fig:positionsC}
\end{figure}
}

\section{Mise en pratique :  graphe de Gabriel et de voisinage relatif}
\subsection{Création de graphe de Gabriel et de voisinage relatif}
\begin{figure}
\centering
\includegraphics[width=1\linewidth]{images/2_4_gabriel}
\caption{Graphe de gabriel}
\label{fig:2_4_gabriel}
\end{figure}
\begin{figure}
	\centering
	\includegraphics[width=1\linewidth]{images/2_4_gvr}
	\caption{Graphe de voisinage realtif}
	\label{fig:2_4_gvr}
\end{figure}

En traçant les graphes de Gabriel (figure \ref{fig:2_4_gabriel}) et de voisinage relatif (figure \ref{fig:2_4_gvr}), on observe que le second est inclus dans le premier.

\subsection{Génération d'un réseau}
En combinant la génération de graphe de Gabriel et de voisinage relatif, on peut générer un réseau routier, comme le montre la figure \ref{fig:2_5}.

\begin{figure}
\centering
\includegraphics[width=1\linewidth]{images/2_5}
\caption{Réseau généré}
\label{fig:2_5}
\end{figure}

\subsection{Temps de génération d'un réseau}



\section{Triangulation de Delaunay}
\subsection{Pratique}
\subsection{Aspect théorique}

\part{Algorithme de Dijkstra pour la recherche du plus court chemin}



\end{document}