\documentclass[11pt]{beamer}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[french]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{multicol}
\usepackage{courier}
\usepackage{appendix}
\usepackage{appendixnumberbeamer}
\usepackage{minted}

\usetheme{Madrid}
%\usetheme{Warsaw}

\addtobeamertemplate{frametitle}{
	\let\insertframetitle\insertsectionhead}{}
\addtobeamertemplate{frametitle}{
	\let\insertframesubtitle\insertsubsectionhead}{}


\makeatletter
\CheckCommand*\beamer@checkframetitle{\@ifnextchar\bgroup\beamer@inlineframetitle{}}
\renewcommand*\beamer@checkframetitle{\global\let\beamer@frametitle\relax\@ifnextchar\bgroup\beamer@inlineframetitle{}}
\makeatother


\hypersetup{pdfpagemode=FullScreen}
% Transition en fade-in par défaut
\addtobeamertemplate{background canvas}{\transfade[duration=0.4]}{}



\usebeamercolor{orchid}

\begin{document}
	\author{Samy Avrillon - 24817}
	\title{Stockage et génération de topographie artificielle de fond océanique}
	\subtitle{Projet "Sonar de l'infini"}
	\logo{\includegraphics[width=.5cm]{logoLafayette}}
	\institute{Lycée Lafayette}
	%\subject{}
	%\setbeamercovered{transparent}
	%\setbeamertemplate{navigation symbols}{}
	\begin{frame}[plain]
		\maketitle
	\end{frame}
	
	\section*{Sommaire}
	\begin{frame}
		\frametitle{Sommaire}
		\pause
		\begin{multicols}{2}
			\tableofcontents[pausesections]
		\end{multicols}
	\end{frame}
	
	\section{Introduction}
		\subsection{Le but : un format inéxistant}
			\begin{frame}
				\pause
				\begin{columns}
					\column{0.5\textwidth}
					\begin{itemize}
						\item<2-4> Un champ des hauteurs
						\item<3-4> Une discrétisation 3D
						\item<4> Quelques formats privés
					\end{itemize}
					\column{0.5\textwidth}
					\only<2>{
						\begin{figure}
							\includegraphics[width=\textwidth]{heightmapExample}
							\caption{Exemple de champ de hauteur}
						\end{figure}
					}
					\only<3>{
						\begin{figure}
							\includegraphics[width=\textwidth]{discretisation3d}
							\caption{Exemple de discrétisation 3d de l'espace}
						\end{figure}
							
					}
				\end{columns}
		
			\end{frame}
		\subsection{Débouchés et utilisations}
			\begin{frame}
				\pause
				\begin{columns}
					\column{0.5\textwidth}
					\begin{itemize}[<+->]
						\item<2-4> Jeu vidéo on monde ouvert
						\item<3-4> Graphisme, cinéma
						\item<4> Simulation physique ou de rover
					\end{itemize}
					\column{0.5\textwidth}
					\only<2>{
						\begin{figure}
							\includegraphics[width=\textwidth]{minecraftOcean}
							\caption{Capture du jeu vidéo Minecraft}
						\end{figure}
					}
					\only<3>{
						\begin{figure}
							\includegraphics[width=0.8\textwidth]{nemoCoraux}
							\includegraphics[width=0.8\textwidth]{samyTortue}
							\caption{Extrait des films \fg{} Le monde de némo \og et \fg{} Le Voyage extraordinaire de Samy \og}
						\end{figure}
					}
				\end{columns}
			\end{frame}
	\section{Le format TMF}
		\subsection{Contraintes}
			\begin{frame}
				\pause
				\begin{itemize}[<+->]
					\item Liberté totale
					\item Complexité spatiale
					\item Référencabilité
				\end{itemize}	
			\end{frame}
			
		\subsection{Modélisation}
			\begin{frame}
				\frametitle{Modélisation}
				\pause
				\begin{figure}
					\includegraphics[height=0.6\textheight]{fond}
					\caption{Représentation 2D du stockage des colonnes}
				\end{figure}
			\end{frame}
		\subsection{Réalité du stoquage}
			\begin{frame}
				Ici format de fichier, 
			\end{frame}
		\subsection{Algorithme d'abstraction: tmfeur}
			
	\section{Module Objection}
		
		\subsection{Minecraft}
			\begin{frame}
				\pause
				\begin{figure}
					\includegraphics[height=0.6\textheight]{minecraftGrottes}
					\caption{Usage de Minecraft comme moteur graphique}
				\end{figure}
			\end{frame}
		\subsection{Rectangle}
			\begin{frame}
				\pause
				\begin{figure}
					\includegraphics[height=0.6\textheight]{recImage}
					\caption{Usage de rectangles}
				\end{figure}
			\end{frame}
		\subsection{Colonnes}
			\begin{frame}
				\pause
				\begin{figure}
					\includegraphics[height=0.6\textheight]{filImage}
					\caption{Usage de parallélépipèdes}
				\end{figure}
			\end{frame}
		\subsection{Triangles}
			\begin{frame}
				\pause
				\begin{figure}
					\includegraphics[height=0.6\textheight]{triImage}
					\caption{Usage de triangles}
				\end{figure}
			\end{frame}
	\section{Génération}
	
		\subsection{Contraintes}
			\begin{frame}
				\pause
				\begin{itemize}[<+->]
					\item Infinité
					\item Répétabilité
					\item Modulabilité
				\end{itemize}	
			\end{frame}
		
		\subsection{Noisette}
		
			\subsubsection{Méthodes et attributs}
				\begin{frame}
					\pause
					\begin{itemize}[<+->]
						\item \texttt{getChunk(self,x,y,n)}
						\item \texttt{\_\_add\_\_(self,other)}
						\item \texttt{\_\_rmul\_\_(self,other)}
						\item \texttt{\_\_sub\_\_(self,other)}
						
					\end{itemize}
				\end{frame}
			\subsubsection{Bruits généraux}
				\begin{frame}
					\pause
					\begin{itemize}[<+->]
						\item Bruit sur le cercle trigonométrique
						\item Bruit avec des interpolations linéaires
						\item Bruit avec des droites
						\item Bruit de Perlin (2d)
						\item Bruit fractal
					\end{itemize}
				\end{frame}
			\subsection{Cartman}
			
			\begin{frame}
				\frametitle{Bruit de Perlin}
				\pause
				\begin{figure}
					\includegraphics[height=0.6\textheight]{perlin}
					\caption{Heightmap créée par un bruit de perlin}
				\end{figure}
			\end{frame}
			
			\begin{frame}
				\frametitle{Bruit Fractal}
				\begin{columns}
					\pause
					\begin{column}{0.5\textwidth}
						\begin{figure}
							\includegraphics[width=0.8\textwidth]{bfractal}
							\caption{Bruit fractal avec peu de droites}
						\end{figure}
					\end{column}
					\pause
					\begin{column}{0.5\textwidth}
						\begin{figure}
							\includegraphics[width=0.8\textwidth]{hfractal}
							\caption{Bruit fractal avec plus de droites}
						\end{figure}
					\end{column}
				\end{columns}
			\end{frame}
			
			\subsubsection{Quelques algorithmes}
				\begin{frame}
					Bruit Caverne à présenter
				\end{frame}
				
				
	\appendix
		\section{Sommaire}
			\begin{frame}
				TODO sommaire de l'appendice
			\end{frame}
		
		\section{Python}
			\subsection{data.py}
				\begin{frame}[allowframebreaks]
					\inputminted[fontsize=\footnotesize,breaklines=true]{python}{data.py}
				\end{frame}
			\subsection{objection.py}
				\begin{frame}[allowframebreaks]
					\inputminted[fontsize=\footnotesize,breaklines=true]{python}{objection.py}
				\end{frame}
			\subsection{perlin.py}
				\begin{frame}[allowframebreaks]
					\inputminted[fontsize=\footnotesize,breaklines=true]{python}{perlin.py}
				\end{frame}
			\subsection{tmf.py}
			\begin{frame}[allowframebreaks]
				\inputminted[fontsize=\footnotesize,breaklines=true]{python}{tmf.py}
			\end{frame}
	
		

\end{document}