275 lines
7.1 KiB
TeX
275 lines
7.1 KiB
TeX
\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} |