Update Rapport
This commit is contained in:
parent
7f3a17039f
commit
0a70da9bec
@ -1,7 +1,6 @@
|
|||||||
\chapter{Introduction}
|
\chapter{Introduction}
|
||||||
%\placeholderwarning
|
|
||||||
\section{Sujet et consiges}
|
\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.
|
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 :
|
\info{Pour cela nous avions quelques consignes a respecter :
|
||||||
|
@ -3,9 +3,12 @@
|
|||||||
\section{Principe et fonctionnement}
|
\section{Principe et fonctionnement}
|
||||||
|
|
||||||
\subsection{Qu'est-ce que le le L-Système ?}
|
\subsection{Qu'est-ce que le le L-Système ?}
|
||||||
|
Le L-système \footnote{Le système de Lindebmayer}, inventé en 1968 par un biologiste hongrois du nom de Aristid Lindenmayer, est un système de réécriture \footnote{Modèle de calcul transformant des objets syntaxiques comme des mots, des termes ou encore des graphes en appliquant des règles données.} utilisé pour la modélisation de processus de developpement et de prolifération de bactéries ou de plantes.
|
||||||
\subsection{Comment fonctionne-t-il ?}
|
\subsection{Comment fonctionne-t-il ?}
|
||||||
|
Ce système de réécriture fonctionne par le biais de plusieurs spécificités :
|
||||||
|
\begin{itemize}
|
||||||
|
\item Un alphabet : celui-ci représente l'ensemble des variables utilisées pour former des mots dans le L-système.
|
||||||
|
\item
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
\section{Exemple d'utilisation}
|
\section{Exemple d'utilisation}
|
||||||
|
|
||||||
|
|
@ -1,19 +1,30 @@
|
|||||||
\chapter{Elements techniques}
|
\chapter{Elements techniques}
|
||||||
|
|
||||||
\section{Parser}\label{sec:parser}
|
\section{Parser}\label{sec:parser}
|
||||||
|
|
||||||
\section{Moteur de réécriture}
|
\section{Moteur de réécriture}
|
||||||
|
|
||||||
\section{Moteur graphique}\label{src:interface3d}
|
\section{Moteur graphique}\label{src:interface3d}
|
||||||
|
|
||||||
\section{Interface principale}\label{sec:menu}
|
\section{Interface principale}\label{sec:menu}
|
||||||
|
|
||||||
\subsection{Composition de l'interface}
|
\subsection{Composition de l'interface}
|
||||||
|
|
||||||
\paragraph{L'interface}
|
\paragraph{L'interface}
|
||||||
utilisateur de notre logiciel à été conçue grâce à la bibliothèqye \textit{Swing} de Java. Elle se compose de trois classes, une contenant la fenêtre principale \textbf{(MainFrame)}, un autre permettant de créer des onglets \textbf{(Tab)} et une troisième classe gérant les événements \textbf{(Listener)}.
|
utilisateur de notre logiciel à été conçue grâce à la bibliothèque \textit{Swing} de Java. Elle se compose de trois classes, une contenant la fenêtre principale \classe{MainFrame}, un autre permettant de créer des onglets \classe{Tab} et une troisième classe gérant les événements \classe{Listener}.
|
||||||
|
|
||||||
\subsection{Classes de l'interface}
|
\subsection{Classes de l'interface}
|
||||||
|
|
||||||
\subsubsection{MainFrame}
|
\subsubsection{MainFrame}
|
||||||
\paragraph{La classe MainFrame} est une classe héritant de la classe JFrame de Swing. Elle permet de créer une fenêtre de base, de taille prédéfinie dans laquelle peuvent être placés des composants graphiques. Elle comprend aussi un bouton de fermeture qui, une fois cliqué, permet l'arrêt du programme.\\
|
|
||||||
|
\paragraph{La classe \classe{MainFrame}} est une classe héritant de la classe JFrame de Swing. Elle permet de créer une fenêtre de base, de taille prédéfinie dans laquelle peuvent être placés des composants graphiques. Elle comprend aussi un bouton de fermeture qui, une fois cliqué, permet l'arrêt du programme.\\
|
||||||
Elle comporte ainsi une instance de la classe JTabbedPane \label{jtpane}, un conteneur graphique donc le but est de disposer ses composants sous la forme d'onglets.
|
Elle comporte ainsi une instance de la classe JTabbedPane \label{jtpane}, un conteneur graphique donc le but est de disposer ses composants sous la forme d'onglets.
|
||||||
|
|
||||||
\subsubsection{Tab}
|
\subsubsection{Tab}
|
||||||
\paragraph{La classe Tab } est une classe héritant de la classe JPanel de Swing. JPanel est un composant de base dans lequel il est possible d'ajouter d'autres composants graphiques. Les intances de Tab crées sont ensuites ajoutées par la classe MainFrame à son composant de la classe JTabbedPane \ref{jtpane}.
|
|
||||||
|
\paragraph{La classe \classe{Tab} } est une classe héritant de la classe JPanel de Swing. JPanel est un composant de base dans lequel il est possible d'ajouter d'autres composants graphiques. Les intances de Tab crées sont ensuites ajoutées par la classe MainFrame à son composant de la classe JTabbedPane \ref{jtpane}.
|
||||||
|
|
||||||
\subsubsection{Listener}
|
\subsubsection{Listener}
|
||||||
\paragraph{La classe Listener} est une classe implémentant certaines classes Listener de Swing \textbf{(ActionListener, KeyListener et MouseWheelListener)}. Elle permet de capter toutes les actions effectuées par l'utilisateur et d'appeler les méthodes correspondantes des classes de l'interface. Elle permet ainsi de créer de nouveaux onglets \textbf{(Nouvelles instances de Tab)} mais aussi d'en fermer ou bien encore de lancer la génération du modèle.
|
|
||||||
|
\paragraph{La classe \classe{Listener}} est une classe implémentant certaines classes Listener de Swing (\classe{ActionListener, KeyListener et MouseWheelListener}). Elle permet de capter toutes les actions effectuées par l'utilisateur et d'appeler les méthodes correspondantes des classes de l'interface. Elle permet ainsi de créer de nouveaux onglets (Nouvelles instances de Tab) mais aussi d'en fermer ou bien encore de lancer la génération du modèle.
|
||||||
\section{Pair ou un tuple a 2 entrées en java}
|
\section{Pair ou un tuple a 2 entrées en java}
|
@ -41,13 +41,13 @@ Pour naviguer dans l'espace 3D, vous pouvez utiliser votre clavier ainsi que vot
|
|||||||
\item \textbf{E} $\xrightarrow{} Tourner \ la \ caméra \ à \ droite$
|
\item \textbf{E} $\xrightarrow{} Tourner \ la \ caméra \ à \ droite$
|
||||||
\item \textbf{W} $\xrightarrow{} Prendre \ de \ la \ hauteur$
|
\item \textbf{W} $\xrightarrow{} Prendre \ de \ la \ hauteur$
|
||||||
\item \textbf{X} $\xrightarrow{} Perde \ de \ la \ hauteur$
|
\item \textbf{X} $\xrightarrow{} Perde \ de \ la \ hauteur$
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\paragraph{Liste des commandes à la souris :}
|
\paragraph{Liste des commandes à la souris :}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \textbf{Mollette Avant} $\xrightarrow{}$ Zommer
|
\item \textbf{Mollette Avant} $\xrightarrow{}$ Zommer
|
||||||
\item \textbf{Mollette Arrière} $\xrightarrow{}$ Dézoomer
|
\item \textbf{Mollette Arrière} $\xrightarrow{}$ Dézoomer
|
||||||
\item \textbf{Clic Droit} $\xrightarrow{}$ Maintenir puis bouger la souris pour changer l'orientation de la caméra
|
\item \textbf{Clic Droit} $\xrightarrow{}$ Maintenir puis bouger la souris pour changer l'orientation de la caméra
|
||||||
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\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 où vous voulez aller puis appuyer sur Z.}
|
\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 où vous voulez aller puis appuyer sur Z.}
|
||||||
|
138
rapport/main.tex
138
rapport/main.tex
@ -31,64 +31,64 @@
|
|||||||
\newcommand{\button}[1]{\textit{\fbox{#1}}}
|
\newcommand{\button}[1]{\textit{\fbox{#1}}}
|
||||||
\newcommand{\classe}[1]{\textit{\textbf{#1}}}
|
\newcommand{\classe}[1]{\textit{\textbf{#1}}}
|
||||||
\newmdenv[
|
\newmdenv[
|
||||||
rightline=false,
|
rightline=false,
|
||||||
topline=false,
|
topline=false,
|
||||||
bottomline=false,
|
bottomline=false,
|
||||||
backgroundcolor=BurntOrange!5,
|
backgroundcolor=BurntOrange!5,
|
||||||
fontcolor=BrickRed,
|
fontcolor=BrickRed,
|
||||||
linecolor=Red,
|
linecolor=Red,
|
||||||
linewidth=1pt]{problemenv}
|
linewidth=1pt]{problemenv}
|
||||||
|
|
||||||
\newcommand{\problem}[1]{
|
\newcommand{\problem}[1]{
|
||||||
\begin{problemenv}
|
\begin{problemenv}
|
||||||
\sffamily
|
\sffamily
|
||||||
#1
|
#1
|
||||||
\end{problemenv}
|
\end{problemenv}
|
||||||
}
|
}
|
||||||
|
|
||||||
\newmdenv[
|
\newmdenv[
|
||||||
rightline=false,
|
rightline=false,
|
||||||
topline=false,
|
topline=false,
|
||||||
bottomline=false,
|
bottomline=false,
|
||||||
backgroundcolor=ForestGreen!5,
|
backgroundcolor=ForestGreen!5,
|
||||||
fontcolor=OliveGreen,
|
fontcolor=OliveGreen,
|
||||||
linecolor=Green,
|
linecolor=Green,
|
||||||
linewidth=1pt]{resultenv}
|
linewidth=1pt]{resultenv}
|
||||||
|
|
||||||
\newcommand{\result}[1]{
|
\newcommand{\result}[1]{
|
||||||
\begin{resultenv}
|
\begin{resultenv}
|
||||||
\sffamily
|
\sffamily
|
||||||
#1
|
#1
|
||||||
\end{resultenv}
|
\end{resultenv}
|
||||||
}
|
}
|
||||||
|
|
||||||
\newmdenv[
|
\newmdenv[
|
||||||
rightline=false,
|
rightline=false,
|
||||||
topline=false,
|
topline=false,
|
||||||
bottomline=false,
|
bottomline=false,
|
||||||
backgroundcolor=Cyan!5,
|
backgroundcolor=Cyan!5,
|
||||||
fontcolor=Blue,
|
fontcolor=Blue,
|
||||||
linecolor=NavyBlue,
|
linecolor=NavyBlue,
|
||||||
linewidth=1pt]{infoenv}
|
linewidth=1pt]{infoenv}
|
||||||
|
|
||||||
\newcommand{\info}[1]{
|
\newcommand{\info}[1]{
|
||||||
\begin{infoenv}
|
\begin{infoenv}
|
||||||
\sffamily
|
\sffamily
|
||||||
#1
|
#1
|
||||||
\end{infoenv}
|
\end{infoenv}
|
||||||
}
|
}
|
||||||
|
|
||||||
\newcommand{\img}[1]{
|
\newcommand{\img}[1]{
|
||||||
\begin{figure}[H]
|
\begin{figure}[H]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.8\textwidth]{#1}
|
\includegraphics[width=0.8\textwidth]{#1}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
}
|
}
|
||||||
|
|
||||||
\newcommand{\imgwlegend}[2]{
|
\newcommand{\imgwlegend}[2]{
|
||||||
\begin{figure}[H]
|
\begin{figure}[H]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.8\textwidth]{#1}
|
\includegraphics[width=0.8\textwidth]{#1}
|
||||||
\caption{#2}
|
\caption{#2}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
}
|
}
|
||||||
@ -102,7 +102,7 @@
|
|||||||
\renewenvironment{abstract}[1]
|
\renewenvironment{abstract}[1]
|
||||||
{\bigskip\selectlanguage{#1}%
|
{\bigskip\selectlanguage{#1}%
|
||||||
\begin{center}\bfseries\abstractname\end{center}}
|
\begin{center}\bfseries\abstractname\end{center}}
|
||||||
{\par\bigskip}
|
{\par\bigskip}
|
||||||
|
|
||||||
% Gestion des keywords
|
% Gestion des keywords
|
||||||
|
|
||||||
@ -119,7 +119,7 @@
|
|||||||
\titlehead{
|
\titlehead{
|
||||||
\includegraphics[width=0.25\textwidth]{pics/LOGO-UNICAEN_V-2.1-N.png}
|
\includegraphics[width=0.25\textwidth]{pics/LOGO-UNICAEN_V-2.1-N.png}
|
||||||
\hfill
|
\hfill
|
||||||
%\includegraphics[width=0.25\textwidth]{pics/}
|
%\includegraphics[width=0.25\textwidth]{pics/}
|
||||||
}
|
}
|
||||||
\subject{
|
\subject{
|
||||||
\small
|
\small
|
||||||
@ -147,28 +147,28 @@
|
|||||||
\small
|
\small
|
||||||
\hfill\\
|
\hfill\\
|
||||||
Antonin \bsc{Boyon}\\
|
Antonin \bsc{Boyon}\\
|
||||||
Thomas \bsc{Lalong}\\
|
Thomas \bsc{Lalong}\\
|
||||||
Quentin \bsc{Legot}\\
|
Quentin \bsc{Legot}\\
|
||||||
Arthur \bsc{Page}
|
Arthur \bsc{Page}
|
||||||
}
|
}
|
||||||
\date{}
|
\date{}
|
||||||
|
|
||||||
\newcommand{\placeholderwarning}{
|
\newcommand{\placeholderwarning}{
|
||||||
\problem{CECI EST UN PLACEHOLDER. À REMPLACER AVEC LES DONNÉES INDIQUÉES.}
|
\problem{CECI EST UN PLACEHOLDER. À REMPLACER AVEC LES DONNÉES INDIQUÉES.}
|
||||||
}
|
}
|
||||||
|
|
||||||
\makeglossary
|
\makeglossary
|
||||||
%redaction guide -> https://docs.google.com/document/d/1YfxGWD0GbRxs-OLxRxoA8Sg8OuVYTSKK8HX1ScFYlFA
|
%redaction guide -> https://docs.google.com/document/d/1YfxGWD0GbRxs-OLxRxoA8Sg8OuVYTSKK8HX1ScFYlFA
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
|
||||||
|
|
||||||
\maketitle
|
\maketitle
|
||||||
\pagenumbering{Roman}
|
\pagenumbering{Roman}
|
||||||
|
|
||||||
\tableofcontents
|
\tableofcontents
|
||||||
\listoffigures
|
\listoffigures
|
||||||
\clearpage
|
\clearpage
|
||||||
|
|
||||||
%\begin{abstractpage}
|
%\begin{abstractpage}
|
||||||
% \begin{abstract}{french}
|
% \begin{abstract}{french}
|
||||||
% \lipsum[1]
|
% \lipsum[1]
|
||||||
@ -181,16 +181,16 @@
|
|||||||
% %\keywords{test lol boup incroyable rassuré}
|
% %\keywords{test lol boup incroyable rassuré}
|
||||||
%\end{abstractpage}
|
%\end{abstractpage}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\pagenumbering{arabic}
|
\pagenumbering{arabic}
|
||||||
\info{Placeholder info}
|
\info{Placeholder info}
|
||||||
\problem{Placeholder problem}
|
\problem{Placeholder problem}
|
||||||
\result{Placeholder result}
|
\result{Placeholder result}
|
||||||
|
|
||||||
\input{chapters/chapitre1.tex}
|
\input{chapters/chapitre1.tex}
|
||||||
|
|
||||||
\input{chapters/chapitre2.tex}
|
\input{chapters/chapitre2.tex}
|
||||||
\input{chapters/chapitre3.tex}
|
\input{chapters/chapitre3.tex}
|
||||||
\input{chapters/chapitre4.tex}
|
\input{chapters/chapitre4.tex}
|
||||||
@ -200,18 +200,18 @@
|
|||||||
%\input{chapters/conclusion.tex}
|
%\input{chapters/conclusion.tex}
|
||||||
\cleardoublepage
|
\cleardoublepage
|
||||||
\pagebreak
|
\pagebreak
|
||||||
|
|
||||||
\pagenumbering{roman}
|
\pagenumbering{roman}
|
||||||
\chapter{Annexes}
|
\chapter{Annexes}
|
||||||
\section{Remerciement}
|
\section{Remerciement}
|
||||||
Triss Jacquiot pour le modèle de rapport bien plus beau que l'original
|
Triss Jacquiot pour le modèle de rapport bien plus beau que l'original
|
||||||
\addcontentsline{toc}{section}{6.2\quad{}Bibliographie}
|
\addcontentsline{toc}{section}{6.2\quad{}Bibliographie}
|
||||||
\begin{thebibliography}{}
|
\begin{thebibliography}{}
|
||||||
\bibitem{ano05}
|
\bibitem{ano05}
|
||||||
A. Nonymous et al.\ 2005
|
A. Nonymous et al.\ 2005
|
||||||
\bibitem{oe04}
|
\bibitem{oe04}
|
||||||
A.N. Other \& S.O.M. Ebody 2004
|
A.N. Other \& S.O.M. Ebody 2004
|
||||||
\end{thebibliography}
|
\end{thebibliography}
|
||||||
|
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
Loading…
Reference in New Issue
Block a user