Commit
|
@ -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.
|
||||
|
|
|
@ -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},
|
||||
|
|
Before Width: | Height: | Size: 356 KiB After Width: | Height: | Size: 399 KiB |
Before Width: | Height: | Size: 362 KiB After Width: | Height: | Size: 407 KiB |
Before Width: | Height: | Size: 336 KiB After Width: | Height: | Size: 380 KiB |
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 142 KiB |
Before Width: | Height: | Size: 301 KiB After Width: | Height: | Size: 337 KiB |
After Width: | Height: | Size: 23 KiB |
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -68,7 +68,7 @@ anchorcolor = blue]{hyperref}
|
|||
\makeatother
|
||||
|
||||
\usetikzlibrary{trees}
|
||||
|
||||
\usepackage{afterpage}
|
||||
\begin{document}
|
||||
|
||||
\begin{titlepage}
|
||||
|
|