diff --git a/rapport/architecture.tex b/rapport/architecture.tex index fe42a8f..ca1072a 100644 --- a/rapport/architecture.tex +++ b/rapport/architecture.tex @@ -292,6 +292,34 @@ Les applications sont principalement composées de programmes principaux, qui utilisent les classes de L3D, ainsi, elles ne sont pas fusionnées avec L3D, et laissées dans le namespace global. +\paragraph{} +Ces premières applications sont des applications de test pour se familiariser +avec les technologies. + +\subsubsection{Bouncing Cube} +Ceci est une première application de test de la libraire graphique. C'est une +des premières applications qui été faite, et elle m'a surtout servi à m'initier +avec la technologie, et notamment avec les clics sur les objets. C'est un +simple cube, qui rebondit sur le sol et finit par s'arrêter. En cliquant sur le +cube, il saute à nouveau. + +\subsubsection{Multisphere} +Ceci est une des premières applications faites : elle m'a permi de tester +l'affichage et le masquage des objets dans la librairie graphique. L'objectif +était de raffiner le maillage au fur et à mesure en utilisant des modèles +diffférents (plusieurs modèles sont chargés et on passe de l'un à l'autre en +cliquant sur l'interface). + +\subsubsection{Stream-demo} +Ceci est la première application que j'ai développée et qui utilise les sockets +: c'est une version simplifiée du \texttt{ProgressiveLoader} que l'on détaillera +dans la section \ref{streaming}. + +\newpage +\paragraph{} +Les prochaines sous-sections détaillent les applications qui ont été +développées pour le projet. + \subsubsection{Interactive} Ceci est l'interface principale, où l'utilisateur doit rechercher les pièces. Nous en parlerons plus dans la section \ref{interface}. @@ -320,4 +348,6 @@ paroi. \subsubsection{Coin-checker} Elle permet de chercher toutes les pièces d'une scène, au cas où certaines se -soient glissées à l'intérieur du modèle. +soient glissées à l'intérieur du modèle. Elle contient notamment un affichage +du nombre de pièces présentes sur la scène, et cliquer sur une pièce la +supprime. diff --git a/rapport/conclusion.tex b/rapport/conclusion.tex index 401cc31..45cc9c4 100644 --- a/rapport/conclusion.tex +++ b/rapport/conclusion.tex @@ -13,9 +13,20 @@ Je tiens particulièrement à remercier \\ mais je me dois aussi de remercier \\ \begin{itemize} - \item Thierry \textsc{Malon} - \item Émilie \textsc{Jalras}, parce que c'est toujours rigolo de se prendre - une gomme dans la tronche, + \item Thierry \textsc{Malon} et Émilie \textsc{Jalras}, pour avoir joué le + rôle de canard en plastique \footnote{\emph{La méthode du canard en + plastique consiste à expliquer méticuleusement le code source que l'on + a écrit à un collègue, à un simple passant, ou même à un objet inanimé + comme un canard en plastique. Le simple fait d'exprimer ses pensées à + voix haute est censé aider à trouver les erreurs de programmation. + Comme les réactions de l'interlocuteur ou son niveau de compréhension + du problème n'ont aucune importance dans ce processus, on peut le + remplacer par un canard en plastique.} --- Contenu soumis à la licence + CC-BY-SA 3.0 (\url{http://creativecommons.org/licenses/by-sa/3.0/deed.fr}) + Source : Article Méthode du canard en plastique de Wikipédia en + français + (\url{http://fr.wikipedia.org/wiki/M\%C3\%A9thode\_du\_canard\_en\_plastique})}. + et plus encore, \item Julien \textsc{Fayer}, qui nous a accompagné durant les derniers mois de nos stages \item Bastien \textsc{Durix}, diff --git a/rapport/img/wiki/01.png b/rapport/img/wiki/01.png index 21a4d66..2976cb1 100644 Binary files a/rapport/img/wiki/01.png and b/rapport/img/wiki/01.png differ diff --git a/rapport/img/wiki/02.png b/rapport/img/wiki/02.png index cd8e289..6846958 100644 Binary files a/rapport/img/wiki/02.png and b/rapport/img/wiki/02.png differ diff --git a/rapport/img/wiki/03.png b/rapport/img/wiki/03.png index fe5d7b4..0cd663b 100644 Binary files a/rapport/img/wiki/03.png and b/rapport/img/wiki/03.png differ diff --git a/rapport/img/wiki/04.png b/rapport/img/wiki/04.png index 8d70212..ce4f369 100644 Binary files a/rapport/img/wiki/04.png and b/rapport/img/wiki/04.png differ diff --git a/rapport/img/wiki/05.png b/rapport/img/wiki/05.png index 7677b41..531fb46 100644 Binary files a/rapport/img/wiki/05.png and b/rapport/img/wiki/05.png differ diff --git a/rapport/img/wiki/spheric.png b/rapport/img/wiki/spheric.png new file mode 100644 index 0000000..532fae7 Binary files /dev/null and b/rapport/img/wiki/spheric.png differ diff --git a/rapport/interface.tex b/rapport/interface.tex index b7ebe63..2647b00 100644 --- a/rapport/interface.tex +++ b/rapport/interface.tex @@ -3,6 +3,16 @@ \paragraph{} La première interface a été pensée pour être la plus simple possible. L'utilisateur contrôle une caméra qui se déplace librement dans un modèle 3D. +Elle a été pensée comme un système de coordonnées sphériques dont on peut +modifier les paramètres : + +\begin{figure}[H] + \centering + \includegraphics[scale=0.5]{img/wiki/spheric.png} + \caption{Les paramètres du contrôleur. \protect\footnotemark} +\end{figure} + +\footnotetext{Contenu soumis à la licence CC-BY-SA 3.0 (\url{http://creativecommons.org/licenses/by-sa/3.0/deed.fr}) Source : Article Coordonnées sphériques de Wikipédia en français (\url{http://fr.wikipedia.org/wiki/Coordonn\%C3\%A9es\_sph\%C3\%A9riques}).} \paragraph{} La translation de la caméra est contrôlée par le clavier : les touches Z, Q, S, @@ -15,12 +25,62 @@ On peut pivoter la caméra de plusieurs manières : \item via le pavé numérique (2, 4, 6, et 8 pour tourner respectivement vers le bas, vers la gauche, vers la droite et vers le haut) \item via la souris, comme \emph{drag-n-drop}, en cliquant un point de la - scène et en le déplaçant + scène et en le déplaçant (le mouvement de la caméra sera alors opposé + au mouvement de la souris) \item via la souris, en mode \emph{pointer-lock}, comme dans un jeu video de tir \end{itemize} +\paragraph{} +Par exemple, on peut tourner vers a gauche (c'est-à-dire diminuer $\theta$) en : +\begin{itemize} + \item cliquant un point et en le déplaçant vers la droite (en mode + \emph{drag-n-drop}) + \item déplaçant la souris vers la gauche (en mode \emph{pointer-lock}) + \item en appuyant sur la touche 4 du pavé numérique +\end{itemize} +\newpage +\paragraph{} +Voici un petit tableau qui permet de montrer comment la caméra tourne autour de +son centre en fonction des interactions. + +\begin{figure}[H] + \centering + \begin{subfigure}[b]{0.3\textwidth} + \centering + \includegraphics[scale=0.12]{img/wiki/04.png} + \caption{Vers le haut ($\delta \nearrow$)} + \end{subfigure} + \\ + \begin{subfigure}[b]{0.3\textwidth} + \centering + \includegraphics[scale=0.12]{img/wiki/03.png} + \caption{Vers la gauche ($\theta \searrow$)} + \end{subfigure} + ~ + \begin{subfigure}[b]{0.3\textwidth} + \centering + \includegraphics[scale=0.12]{img/wiki/01.png} + \caption{Angle initial} + \end{subfigure} + ~ + \begin{subfigure}[b]{0.3\textwidth} + \centering + \includegraphics[scale=0.12]{img/wiki/02.png} + \caption{Vers la droite ($\theta \nearrow$)} + \end{subfigure} + \\ + \begin{subfigure}[b]{0.3\textwidth} + \centering + \includegraphics[scale=0.12]{img/wiki/05.png} + \caption{Vers le bas ($\delta $\searrow)} + \end{subfigure} + + \caption{Les différentes rotations possibles} +\end{figure} + +\newpage \section{Les recommandations} \paragraph{} Les recommandations sont là pour suggérer des points de vue à l'utilisateur. diff --git a/rapport/intro.tex b/rapport/intro.tex index 37c40ae..93b53c1 100644 --- a/rapport/intro.tex +++ b/rapport/intro.tex @@ -48,3 +48,23 @@ Au bout de quelques semaines, j'ai décidé de faire le choix de la 3D et j'ai commencé à découvrir les multiples façons de faire des interfaces 3D via HTML et JavaScript. +\newpage +\part{Organisation} + +\section{Encadrants} +Ce stage a été encadré par Vincent \textsc{Charvillat}, Géraldine +\textsc{Morin}, et Axel \textsc{Carlier} de l'IRIT, et nous avons eu le soutien +de Wei Tsang \textsc{Ooi}, professeur de la NUS à Singapour. + +\section{Communication} +Les communications inter-IRIT se faisaient principalement par mail. + +\paragraph{} +Des réunions étaient organisées lorsqu'elles étaient nécessaires, soit environ +toutes les deux semaines. Ces réunions étaient souvent faites via Skype ou +Hangouts, en présence de Wei Tsang. + +\section{Tests} +Le site a été déployé à l'adresse \url{http://3dinterface.no-ip.org/}. Les +différentes choses à faire tester aux encadrants se sont retrouvées sur des +pages à cette adresse. diff --git a/rapport/main.tex b/rapport/main.tex index dd3848a..a088596 100644 --- a/rapport/main.tex +++ b/rapport/main.tex @@ -68,7 +68,7 @@ anchorcolor = blue]{hyperref} \makeatother \usetikzlibrary{trees} - +\usepackage{afterpage} \begin{document} \begin{titlepage}