diff --git a/compte_rendu/compte_rendu.aux b/compte_rendu/compte_rendu.aux index 06c79ac..f42c506 100644 --- a/compte_rendu/compte_rendu.aux +++ b/compte_rendu/compte_rendu.aux @@ -3,4 +3,16 @@ \@writefile{toc}{\select@language{french}} \@writefile{lof}{\select@language{french}} \@writefile{lot}{\select@language{french}} +\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Différentes positions possible de points par rapport à $A$ et $B$\relax }}{3}} +\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}} +\newlabel{fig:positionsC}{{1}{3}} \@writefile{toc}{\contentsline {part}{I\hspace {1em}Objectifs de ce TL}{3}} +\@writefile{toc}{\contentsline {part}{II\hspace {1em}Génération de carte routière réaliste}{3}} +\@writefile{toc}{\contentsline {section}{\numberline {1}Condition pour un graphe de Gabriel}{3}} +\newlabel{eq:condArete}{{1}{3}} +\@writefile{toc}{\contentsline {paragraph}{preuve :}{3}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Mise en pratique : graphe de Gabriel et de voisinage relatif}{3}} +\@writefile{toc}{\contentsline {section}{\numberline {3}Triangulation de Delaunay}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Pratique}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Aspect théorique}{4}} +\@writefile{toc}{\contentsline {part}{III\hspace {1em}Algorithme de Dijkstra pour la recherche du plus court chemin}{4}} diff --git a/compte_rendu/compte_rendu.lof b/compte_rendu/compte_rendu.lof index 6ddbdcd..42de9aa 100644 --- a/compte_rendu/compte_rendu.lof +++ b/compte_rendu/compte_rendu.lof @@ -1 +1,2 @@ \select@language {french} +\contentsline {figure}{\numberline {1}{\ignorespaces Différentes positions possible de points par rapport à $A$ et $B$\relax }}{3} diff --git a/compte_rendu/compte_rendu.pdf b/compte_rendu/compte_rendu.pdf index 57962ab..810f901 100644 Binary files a/compte_rendu/compte_rendu.pdf and b/compte_rendu/compte_rendu.pdf differ diff --git a/compte_rendu/compte_rendu.synctex.gz b/compte_rendu/compte_rendu.synctex.gz index a4e2d97..a8f7be8 100644 Binary files a/compte_rendu/compte_rendu.synctex.gz and b/compte_rendu/compte_rendu.synctex.gz differ diff --git a/compte_rendu/compte_rendu.tex b/compte_rendu/compte_rendu.tex index 8dd5643..c6672d2 100644 --- a/compte_rendu/compte_rendu.tex +++ b/compte_rendu/compte_rendu.tex @@ -21,5 +21,57 @@ \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} +Questions 2.4 2.5 2.6 + +\section{Triangulation de Delaunay} +\subsection{Pratique} +\subsection{Aspect théorique} + +\part{Algorithme de Dijkstra pour la recherche du plus court chemin} + + \end{document} \ No newline at end of file diff --git a/compte_rendu/compte_rendu.toc b/compte_rendu/compte_rendu.toc index 546a323..d841acb 100644 --- a/compte_rendu/compte_rendu.toc +++ b/compte_rendu/compte_rendu.toc @@ -1,2 +1,10 @@ \select@language {french} \contentsline {part}{I\hspace {1em}Objectifs de ce TL}{3} +\contentsline {part}{II\hspace {1em}Génération de carte routière réaliste}{3} +\contentsline {section}{\numberline {1}Condition pour un graphe de Gabriel}{3} +\contentsline {paragraph}{preuve :}{3} +\contentsline {section}{\numberline {2}Mise en pratique : graphe de Gabriel et de voisinage relatif}{3} +\contentsline {section}{\numberline {3}Triangulation de Delaunay}{4} +\contentsline {subsection}{\numberline {3.1}Pratique}{4} +\contentsline {subsection}{\numberline {3.2}Aspect théorique}{4} +\contentsline {part}{III\hspace {1em}Algorithme de Dijkstra pour la recherche du plus court chemin}{4} diff --git a/compte_rendu/images/2_2.png b/compte_rendu/images/2_2.png new file mode 100644 index 0000000..5c2c440 Binary files /dev/null and b/compte_rendu/images/2_2.png differ diff --git a/compte_rendu/images/2_4_gabriel.png b/compte_rendu/images/2_4_gabriel.png new file mode 100644 index 0000000..a46d3f2 Binary files /dev/null and b/compte_rendu/images/2_4_gabriel.png differ diff --git a/compte_rendu/images/2_4_gvr.png b/compte_rendu/images/2_4_gvr.png new file mode 100644 index 0000000..c9c5792 Binary files /dev/null and b/compte_rendu/images/2_4_gvr.png differ diff --git a/test.py b/test.py index 6ea7a34..aae843c 100644 --- a/test.py +++ b/test.py @@ -68,7 +68,7 @@ def testQuestion2_4(): g1.renomme("GVR") graphe.gabriel(g) graphe.gvr(g1) - graphique.affiche(g, (0, 0), 10.) + graphique.affiche(g, (0, 0), 10., blocage=False) graphique.affiche(g1, (0, 0), 10.)