From de48b625201b24f458e0cbbe8bfc4d0fe0572204 Mon Sep 17 00:00:00 2001 From: Eideen Date: Tue, 13 Apr 2021 18:21:34 +0200 Subject: [PATCH] improved LaTeX file --- rapport/chapters/chapitre1.tex | 23 +++ rapport/chapters/chapitre2.tex | 11 ++ rapport/chapters/chapitre3.tex | 20 +++ rapport/chapters/chapitre4.tex | 6 + rapport/chapters/chapitre5.tex | 39 +++++ rapport/chapters/chapitre6.tex | 0 rapport/main.tex | 215 ++++++++++++++++++++++++++ rapport/pics/LOGO-UNICAEN_V-2.1-N.png | Bin 0 -> 24505 bytes rapport/rapport.tex | 68 -------- 9 files changed, 314 insertions(+), 68 deletions(-) create mode 100644 rapport/chapters/chapitre1.tex create mode 100644 rapport/chapters/chapitre2.tex create mode 100644 rapport/chapters/chapitre3.tex create mode 100644 rapport/chapters/chapitre4.tex create mode 100644 rapport/chapters/chapitre5.tex create mode 100644 rapport/chapters/chapitre6.tex create mode 100644 rapport/main.tex create mode 100644 rapport/pics/LOGO-UNICAEN_V-2.1-N.png delete mode 100644 rapport/rapport.tex diff --git a/rapport/chapters/chapitre1.tex b/rapport/chapters/chapitre1.tex new file mode 100644 index 0000000..f00495f --- /dev/null +++ b/rapport/chapters/chapitre1.tex @@ -0,0 +1,23 @@ +\chapter{Introduction} +%\placeholderwarning +\section{Sujet et consiges} +%\paragraph{(optionnel) Pourquoi ce sujet est intéressant?} +Ce projet a pour objectif de réaliser une application appliquant des principes de programmation orientée objet en language de programmation Java. Nous avons eut le choix entre 6 sujets différents et, après études des pro-positions, notre choix s’est finalement porté sur le "Générateurs de floresvidéos-ludiques" et donc la réalisation d’un simulateur de L-système végétalproduisant une image 2D et 3D de l’objet par le biais de règles de réécritures. + +\info{Pour cela nous avions quelques consignes a respecter : +\begin{itemize} + \item Intégrer un parser de L-système. + \item Créer un moteur de réécriture. + \item Créer un moteur de rendu graphique. +\end{itemize}} + +Après lecture des consignes nous avons pu entamer nos recherches. + +\section{Mise en place du projet} +Nos recherches se sont premièrement portées sur le L-Système (principalement sur Wikipedia\footnote{\href[textcolor=blue]{https://en.wikipedia.org/wiki/L-system}{https://en.wikipedia.org/wiki/L-system}}) pour comprendre son fonctionnement nous donnant des informations sur comment construire notre parser et notre moteur de réécriture. Nous nous sommes ensuite renseigné sur les différents moteurs de rendu graphique que nous pouvions utiliser et notre choix c'est finalement porté sur JOGL (Java Open Graphics Library \footnote{\href[textcolor=blue]{https://jogamp.org/jogl/www/}{https://jogamp.org/jogl/www/}}) qui était conseillé dans la liste des sujets, pouvant gérer un rendu 2D et un rendu 3D. +\\ +\\ +Suite a ça nous avons réfléchit a la structure de notre code, une première ébauche sur laquelle nous pourrions nous baser pour débuter notre projet ainsi qu'un ordre de priorité, certaines parties étant necessaires pour que d'autres fonctionnent ou puissent être amorcées (comme le parser, les bases du système de réécriture ou encore les différents moteurs de rendu). +\\ +Puis, pour terminer notre mise en place, nous avons décidé que nous rajouterions une interface ainsi qu'une fenêtre d'aide a notre futur code dans le but de faciliter son utilisation. + diff --git a/rapport/chapters/chapitre2.tex b/rapport/chapters/chapitre2.tex new file mode 100644 index 0000000..c9c9eba --- /dev/null +++ b/rapport/chapters/chapitre2.tex @@ -0,0 +1,11 @@ +\chapter{L-Système} + +\section{Principe et fonctionnement} + +\subsection{Qu'est-ce que le le L-Système ?} + +\subsection{Comment fonctionne-t-il ?} + +\section{Exemple d'utilisation} + + diff --git a/rapport/chapters/chapitre3.tex b/rapport/chapters/chapitre3.tex new file mode 100644 index 0000000..d4c2fbf --- /dev/null +++ b/rapport/chapters/chapitre3.tex @@ -0,0 +1,20 @@ +\chapter{Organisation et structure} + +\section{Organisation du sujet} + +\section{Structure du projet} +\begin{itemize} + \item engine + \begin{itemize} + \item Rewrite: Moteur de réécriture + \item Element, ElementProperties et Parser: voir section 4.1 \ref{sec:parser} + \end{itemize} + \item screen + \begin{itemize} + \item gl3d: Tout les objets relatifs a l'affichage 3d du L-Systeme, voir la section \label{src:interface3d} + \item main: Tout les objets relatifs au menu, voir la section \label{sec:menu} + \end{itemize} + \item utils: contient l'objet Pair qui est essentiel au fonctionnement du projet +\end{itemize} + +A détailler un peu plus diff --git a/rapport/chapters/chapitre4.tex b/rapport/chapters/chapitre4.tex new file mode 100644 index 0000000..2e6e66c --- /dev/null +++ b/rapport/chapters/chapitre4.tex @@ -0,0 +1,6 @@ +\chapter{Elements techniques} +\section{Parser}\label{sec:parser} +\section{Moteur de réécriture} +\section{Moteur graphique}\label{src:interface3d} +\section{Interface principale}\label{sec:menu} +\section{Pair ou un tuple a 2 entrées en java} \ No newline at end of file diff --git a/rapport/chapters/chapitre5.tex b/rapport/chapters/chapitre5.tex new file mode 100644 index 0000000..f745eee --- /dev/null +++ b/rapport/chapters/chapitre5.tex @@ -0,0 +1,39 @@ +\chapter{Experimentations et Usages} + +\section{Manuel d'utilisation} + +\subsection{Préambule} +Notre application a été développé et pensé pour les versions de java supérieurs ou égales à la version 8u281. +L'application fonctionne sur Linux avec une interface tournant sur les moteurs graphiques Xorg et Wayland et sur Windows 10. + +Les archives jar de Jogl doivent se trouver dans le dossier lib selon le modèle ci-dessous (image) + +\info{Nous ne pouvons pas vous garantir si l'application fonctionne sur Mac OS X, aucun des membres de notre n'en possède un.} + +\subsection{Lancement de l'application} + +Blablabla commande ant run blablabla + +\subsection{Utilisation de l'interface utilisateur} + +comment utiliser les menus + +\subsection{Navigation dans l'interface graphique en 3D} + +blablabla z pour avancer, s pour reculer, q pour aller a gauche, d pour aller a droite, w pour monter, x pour descendre, molette de la souris pour avancer ou reculer, clique gauche pour tourner la vue, blablabla + +\problem{Vous ne pouvez pas utiliser 2 touches ou plus en même temps pour naviguer par exemple Z et D pour aller la direction nord-est est impossible, tourner votre caméra dans la direction que vous voulez aller pour appuyer sur Z.} + +Fermer la fenetre 3D pour pouvoir générer un nouveau L-Systeme sans avoir à rouvrir l'application + +\section{Tests de notre logiciel} + +\subsection{exemple test 1} + +\subsection{exemple test 2} + +\subsection{Possibles problèmes} + +StackOverflowError quand on met trop d'itérations + +\section{Mesure de performance} \ No newline at end of file diff --git a/rapport/chapters/chapitre6.tex b/rapport/chapters/chapitre6.tex new file mode 100644 index 0000000..e69de29 diff --git a/rapport/main.tex b/rapport/main.tex new file mode 100644 index 0000000..023723f --- /dev/null +++ b/rapport/main.tex @@ -0,0 +1,215 @@ +\documentclass[ + headsepline=on, + footsepline=on, + twoside=off, + abstract=on, + DIV=10 +]{scrreprt} + +\usepackage[utf8]{inputenc} +\usepackage{graphicx} +\usepackage[english, french]{babel} +\usepackage{multirow} +\usepackage[dvipsnames]{xcolor} +\usepackage[allbordercolors=white]{hyperref} +\usepackage{mdframed} +\usepackage{pgfplotstable} +\usepackage{tikz-3dplot} +\usepackage[OT1]{fontenc} +\usepackage{lipsum} +\usepackage{amsmath} +\usepackage{lscape} % permet de faire des pages en mode paysage +\usepackage{algorithmicx} +\usepackage[noend]{algpseudocode} +\usepackage{listings} +\hyphenpenalty 10000 + +\definecolor{link}{HTML}{4169E1} +\usepackage[bottom=2cm,footskip=8mm]{geometry} + +\newmdenv[ +rightline=false, +topline=false, +bottomline=false, +backgroundcolor=BurntOrange!5, +fontcolor=BrickRed, +linecolor=Red, +linewidth=1pt]{problemenv} + +\newcommand{\problem}[1]{ +\begin{problemenv} +\sffamily +#1 +\end{problemenv} +} + +\newmdenv[ +rightline=false, +topline=false, +bottomline=false, +backgroundcolor=ForestGreen!5, +fontcolor=OliveGreen, +linecolor=Green, +linewidth=1pt]{resultenv} + +\newcommand{\result}[1]{ +\begin{resultenv} +\sffamily +#1 +\end{resultenv} +} + +\newmdenv[ +rightline=false, +topline=false, +bottomline=false, +backgroundcolor=Cyan!5, +fontcolor=Blue, +linecolor=NavyBlue, +linewidth=1pt]{infoenv} + +\newcommand{\info}[1]{ +\begin{infoenv} +\sffamily +#1 +\end{infoenv} +} + +\newcommand{\img}[1]{ +\begin{figure}[H] + \centering + \includegraphics[width=0.8\textwidth]{#1} +\end{figure} +} + +\newcommand{\imgwlegend}[2]{ + \begin{figure}[H] + \centering + \includegraphics[width=0.8\textwidth]{#1} + \caption{#2} + \end{figure} +} + +% Gestion d'abstracts multiples + +\newenvironment{abstractpage} +{\cleardoublepage\vspace*{\fill}\thispagestyle{empty}} +{\vfill\cleardoublepage} + +\renewenvironment{abstract}[1] +{\bigskip\selectlanguage{#1}% + \begin{center}\bfseries\abstractname\end{center}} +{\par\bigskip} + +% Gestion des keywords + +\newcommand{\keywords}{\sffamily\textit{Keywords : }\bfseries} + +%Page style + +\pagestyle{headings} +\pagenumbering{arabic} + + +%Title page + +\titlehead{ + \includegraphics[width=0.25\textwidth]{pics/LOGO-UNICAEN_V-2.1-N.png} + \hfill + %\includegraphics[width=0.25\textwidth]{pics/} +} +\subject{ + \small + Université de Caen Normandie\\ + UFR des Sciences\\ + Département Informatique\\ + \hfill\\ + 2ème année de licence d'informatique +} +\title{ + \hrulefill + %\hrulefill + \vfill\\ + \Huge \bfseries \\L-Systeme +} +\subtitle{ + Conception logicielle\\ + \hfill + \\ + \hrulefill + \hfill\\ + {\normalfont Rapport de projet} +} +\author{ + \small + \hfill\\ + Antonin \bsc{Boyon}\\ + Thomas \bsc{Lalong}\\ + Quentin \bsc{Legot}\\ + Arthur \bsc{Page} +} +\date{} + +\newcommand{\placeholderwarning}{ +\problem{CECI EST UN PLACEHOLDER. À REMPLACER AVEC LES DONNÉES INDIQUÉES.} +} + +\makeglossary +%redaction guide -> https://docs.google.com/document/d/1YfxGWD0GbRxs-OLxRxoA8Sg8OuVYTSKK8HX1ScFYlFA +\begin{document} + + + \maketitle + + \pagenumbering{Roman} + + \tableofcontents + \listoffigures + \clearpage + + %\begin{abstractpage} + % \begin{abstract}{french} + % \lipsum[1] + % \end{abstract} + % + % \begin{abstract}{english} + % \lipsum[1] + % \end{abstract} + % \hfill\\ + % %\keywords{test lol boup incroyable rassuré} + %\end{abstractpage} + + + + + \pagenumbering{arabic} + \info{Placeholder info} + \problem{Placeholder problem} + \result{Placeholder result} + + \input{chapters/chapitre1.tex} + + \input{chapters/chapitre2.tex} + \input{chapters/chapitre3.tex} + \input{chapters/chapitre4.tex} + \input{chapters/chapitre5.tex} + \input{chapters/chapitre6.tex} + %\input{chapters/validation.tex} + %\input{chapters/conclusion.tex} + \cleardoublepage + \pagebreak + + \pagenumbering{roman} + \chapter{Annexes} + \section{Remerciement} + Triss Jacquiot pour le modèle de rapport bien plus beau que l'original + \addcontentsline{toc}{section}{6.2\quad{}Bibliographie} + \begin{thebibliography}{} + \bibitem{ano05} + A. Nonymous et al.\ 2005 + \bibitem{oe04} + A.N. Other \& S.O.M. Ebody 2004 + \end{thebibliography} + + +\end{document} \ No newline at end of file diff --git a/rapport/pics/LOGO-UNICAEN_V-2.1-N.png b/rapport/pics/LOGO-UNICAEN_V-2.1-N.png new file mode 100644 index 0000000000000000000000000000000000000000..59436b9cc5cd7ff926e8b3d45be6cef5ae6f234a GIT binary patch literal 24505 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 F`#)9b?m7Sf literal 0 HcmV?d00001 diff --git a/rapport/rapport.tex b/rapport/rapport.tex deleted file mode 100644 index fb7edbf..0000000 --- a/rapport/rapport.tex +++ /dev/null @@ -1,68 +0,0 @@ -\documentclass[12pt]{report} - -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{hyperref} -\usepackage{graphicx} -\title{CONCEPTION LOGICIELLE\\L-SYSTEME} -\author{Antonin \bsc{Boyon}\\ -Thomas \bsc{Lalong}\\ -Quentin \bsc{Legot}\\ -Arthur \bsc{Page}} -\date{\today} - -\begin{document} - -\maketitle -\thispagestyle{empty} -\setcounter{page}{0} - -\tableofcontents -\newpage - -\chapter{INTRODUCTION} -\newpage -\section{Sujet et consignes} -\paragraph{} -Ce projet a pour objectif de réaliser une application appliquant des principes de programmation orientée objet en language de programmation Java. -Nous avons eut le choix entre 6 sujets différents et, après études des propositions, notre choix s'est finalement porté sur le "Générateurs de flores vidéos-ludiques" et donc la réalisation d'un simulateur de L-système végétal produisant une image 2D et 3D de l'objet par le biais de règles de réécritures. - -\paragraph{} -Pour cela nous avions quelques consignes a respecter : -\begin{itemize} - \item Intégrer un parser de L-système. - \item Créer un moteur de réécriture. - \item Créer un moteur de rendu graphique. -\end{itemize} - -\section{Mise en place du projet} - -\chapter{L-SYSTEME} -\section{Principe et fonctionnement} - -\section{Utilisation pour notre projet} - -\chapter{ORGANISATION ET STRUCTURE} -\section{Organisation du projet} -\section{Structure du projet} - -\chapter{ELEMENTS TECHNIQUES} -\section{Parser} -\section{Moteur de réécriture} -\section{Moteur graphique} -\section{Interface} - -\chapter{EXPERIMENTATIONS ET USAGE} -\section{Tests de notre logiciel} -\section{Mesure de performance} - -\chapter{CONCLUSION} -\section{Récapitulatif} -\section{Propositions d'amélioration} - -\chapter{BIBLIOGRAPHIE} - -\chapter{ANNEXES} - -\end{document}