This commit is contained in:
Thomas FORGIONE 2015-09-21 09:44:35 +02:00
parent 58c1ea9220
commit 2ceb2b1822
7 changed files with 114 additions and 8 deletions

View File

@ -5,7 +5,7 @@ TEXC = latexmk -lualatex -output-directory=build
all: sk build/main.pdf all: sk build/main.pdf
sk: sk:
./sketch/sketch frustum.sk -o build/frustum.tex cd ../common && make
build/main.pdf: main.tex FORCE build/main.pdf: main.tex FORCE
$(TEXC) -latexoption=-shell-escape $< $(TEXC) -latexoption=-shell-escape $<

View File

@ -215,7 +215,7 @@ apparaissent dans le \emph{frustum}. On évite ainsi d'envoyer les faces du
modèle qui sont derrière la caméra et que l'utilisateur ne voit pas. modèle qui sont derrière la caméra et que l'utilisateur ne voit pas.
\begin{figure}[H] \begin{figure}[H]
\centering \centering
\include{build/frustum} \include{../common/build/frustum}
\caption{Le frustum de la camera et différents objets\label{frustum-draw}} \caption{Le frustum de la camera et différents objets\label{frustum-draw}}
\end{figure} \end{figure}

View File

@ -2,8 +2,13 @@ TEXC = latexmk -lualatex -output-directory=build
.PHONY: FORCE .PHONY: FORCE
all: sk build/main.pdf
pdf: build/main.pdf pdf: build/main.pdf
sk:
cd ../common && make
build/%.pdf: %.tex FORCE build/%.pdf: %.tex FORCE
$(TEXC) -latexoption=-shell-escape $< $(TEXC) -latexoption=-shell-escape $<
# cp build/main.pdf build/main.tmp.pdf # cp build/main.pdf build/main.tmp.pdf

View File

@ -16,14 +16,15 @@
\usepackage{lmodern} \usepackage{lmodern}
\usepackage{vwcol} \usepackage{vwcol}
\usepackage{pgfpages} \usepackage{pgfpages}
\usepackage{animate} \usepackage{hyperref}
% \usepackage{animate}
\usepackage{tikz} \usepackage{tikz}
\setbeameroption{show notes} \setbeameroption{show notes}
\setbeameroption{show notes on second screen=right} \setbeameroption{show notes on second screen=right}
%\setbeameroption{show notes on second screen=right} %\setbeameroption{show notes on second screen=right}
\usetheme{Warsaw} % or try Darmstadt, Madrid, Warsaw, ... \usetheme{JuanLesPins} % or try Darmstadt, Madrid, Warsaw, ...
\setbeamertemplate{navigation symbols}{} \setbeamertemplate{navigation symbols}{}
\newcommand{\tikzvline}[2]{ \newcommand{\tikzvline}[2]{
@ -65,7 +66,6 @@
\begin{document} \begin{document}
\begin{frame} \begin{frame}
\titlepage \titlepage
\note{Hello}
\end{frame} \end{frame}
\section{Introduction} \section{Introduction}
@ -82,8 +82,8 @@
\end{frame} \end{frame}
\section{Technologies utilisées} \section{Technologies utilisées}
\subsection{Côté serveur}
\begin{frame} \begin{frame}
\frametitle{Côté serveur}
NodeJs et certains \emph{packages} NodeJs et certains \emph{packages}
\begin{itemize} \begin{itemize}
\item \texttt{express} \item \texttt{express}
@ -103,13 +103,13 @@
\end{frame} \end{frame}
\subsection{Côté client}
\begin{frame} \begin{frame}
\frametitle{Côté client}
\begin{itemize} \begin{itemize}
\item HTML5 \item HTML5
\item CSS3 \item CSS3
\item Boostrap
\item JavaScript \item JavaScript
\item Boostrap
\item WebGL \item WebGL
\item Three.js \item Three.js
\end{itemize} \end{itemize}
@ -204,7 +204,108 @@
\end{frame} \end{frame}
\section{Test de l'interface}
\subsection{Principe du test}
\begin{frame}
Chercher des pièces dans une scène :\\[0.25cm]
\begin{enumerate}
\item Un formulaire (age, habitude en terme de jeux vidéo)
\item Un didacticiel
\item Trois expériences différentes
\item Un formulaire final (intérêt des recommandations, préférences)
\end{enumerate}
~\\[0.25cm]
Sauvegarde complète des interactions de l'utilisateur :\\[0.25cm]
\begin{itemize}
\item Mouvement clavier / souris
\item Recommandations (clic ou survol)
\item Pièces récupérées
\item Boutons de l'interface (précédente, suivante, reset...)
\end{itemize}
\end{frame}
\subsection{Tirage des expériences}
\begin{frame}
\begin{block}{Objectifs}
\begin{itemize}
\item Tirer des expériences aléatoires
\item Eliminer la dépendance entre les pièces et le recommandations
\item Minimiser les paramètres variables pour faire des comparaisons
\end{itemize}
\end{block}
~\\[0.5cm]
Parmi les paramètres, on a :
\begin{itemize}
\item Niveau de l'utilisateur
\item Scène et combinaison de pièces
\item Type de recommandations
\end{itemize}
\end{frame}
\section{Streaming} \section{Streaming}
\subsection{Protocole}
\begin{frame}
\begin{itemize}
\item Communication client-serveur via \texttt{socket.io} (et \texttt{Websocket})
\item Modèles sous forme \texttt{.obj} et \texttt{.mtl}
\item Streaming orienté faces
\item Ajout dynamique des éléments reçus
\item Envoi des matériaux au début
\end{itemize}
\end{frame}
\begin{frame}
\begin{figure}
\centering
\begin{tikzpicture}[scale=0.6,every node/.style={scale=0.6}]
\draw (0,0) node[above]{Client};
\draw (0,0) -- (0,-8);
\draw (5,0) node[above]{Serveur};
\draw (5,0) -- (5,-8);
\pause
\draw (2.5,-1.3) node[rotate=-12] {Path jusqu'au modèle};
\draw[->] (0,-1) -- (5, -2);
\pause
\draw (2.5,-2.3) node[rotate=12] {Liste des matériaux};
\draw[<-] (0,-3) -- (5, -2);
\pause
\draw (2.5,-3.3) node[rotate=-12] {Caméra / \emph{frustum}};
\draw[->] (0,-3) -- (5, -4);
\pause
\draw[dashed, ->] (-0.1,-3) -- (-0.1,-4);
\pause
\draw (2.5,-4.3) node[rotate=12] {Des éléments};
\draw[<-] (0,-5) -- (5, -4);
\pause
\draw (2.5,-5.3) node[rotate=-12] {Caméra / \emph{frustum}};
\draw[->] (0,-5) -- (5, -6);
\pause
\draw (2.5,-6.3) node[rotate=12] {D'autres éléments};
\draw[<-] (0,-7) -- (5, -6);
\draw (2.5,-8) node{$\vdots$};
\onslide<1->
\end{tikzpicture}
\caption{Communication client / serveur pour streaming de modèle 3D}
\end{figure}
\end{frame}
\subsection{Frustum}
\begin{frame}
\begin{figure}
\scalebox{.8}{\parbox{1.25\linewidth}{\centering\input{../common/build/frustum}}}
\caption{Le frustum de la camera et différents objets\label{frustum-draw}}
\end{figure}
\end{frame}
\end{document} \end{document}