This commit is contained in:
Thomas FORGIONE 2015-09-14 10:27:24 +02:00
parent 2230488ad5
commit 8bde6c3105
11 changed files with 127 additions and 6 deletions

View File

@ -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.

View File

@ -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},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 356 KiB

After

Width:  |  Height:  |  Size: 399 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 362 KiB

After

Width:  |  Height:  |  Size: 407 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 KiB

After

Width:  |  Height:  |  Size: 380 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 301 KiB

After

Width:  |  Height:  |  Size: 337 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -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.

View File

@ -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.

View File

@ -68,7 +68,7 @@ anchorcolor = blue]{hyperref}
\makeatother
\usetikzlibrary{trees}
\usepackage{afterpage}
\begin{document}
\begin{titlepage}