Commit
This commit is contained in:
		
							parent
							
								
									d7fef5e857
								
							
						
					
					
						commit
						8667cc6e8c
					
				| @ -12,6 +12,9 @@ compress: build/main.pdf | ||||
| 
 | ||||
| all: build/main.pdf | ||||
| 
 | ||||
| push: compress | ||||
| 	scp -P2222 build/main.pdf pi@dragonrock.no-ip.org:web/dragonrock/rapport.pdf | ||||
| 
 | ||||
| clean: FORCE | ||||
| 	$(TEXC) -c | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										263
									
								
								rapport/gantt.sty
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										263
									
								
								rapport/gantt.sty
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,263 @@ | ||||
| \ProvidesPackage{gantt}[2011/03/20 Some macros for drawing gantt diagrams using tkiz v.1.3] | ||||
| % Some macros for drawing gantt diagrams using tkiz. | ||||
| % | ||||
| % Martin Kumm, 17.05.2010 (Version 1.0) | ||||
| % Alan Munn, Martin Kumm, 14.03.2011 (Version 1.2) | ||||
| % Andrés Silva Marambio, 20.03.2011 (Version 1.3) | ||||
| %  | ||||
| % Update 20.03.2011, Version 1.3 | ||||
| % | ||||
| % changes from v1.2: | ||||
| % change \ProvidesPackage{gantt.sty} for \ProvidesPackage{gantt} | ||||
| % add \bfseries for the command \ganttgroup | ||||
| % add two newcommands for doing Gantt Milestones: \ganttmilestone and \ganttmilestonecon | ||||
| % usage: \ganttmilestone[color=<color>]{label}{start} - Create a gantt milestone using a diamond | ||||
| % usage: \ganttmilestonecon[color=<color>]{label}{start} - Create a gantt milestone using a diamond and conect with the previuos itemg | ||||
| % fixed the issue when \ganttbarcon or \ganttmilestonecon connect in decimal positions | ||||
| % | ||||
| % Update 15.03.2011, Version 1.2 | ||||
| % | ||||
| % changes from v1.1: | ||||
| % px sizes has ben changed ot pt due to problems with some LaTeX distributions (thanks to Michael Kubovy and Loïc Le Guyader!) | ||||
| % Correction of the text aligned in \titleelement (thanks to Josh Hykes!) | ||||
| % \unitlength was changed to \ganttunitlength (thanks to Alan Munn!) | ||||
| % \RequirePackage was added (thanks to Alan Munn!) | ||||
| %  | ||||
| % Update 05.08.2010, Version 1.1 | ||||
| % | ||||
| % changes from v1.0: | ||||
| % \ganttbar and \ganttbarcon have been extended with the xkeyval syntax | ||||
| % The pattern of the bar is now independent of the color and can be set by  | ||||
| % e.g. \ganttbar[pattern=horizontal lines,color=blue]{...}{1}{1} | ||||
| % This syntax is incompatible with the previous ones! | ||||
| % replace \ganttbar[<pattern>] with \ganttbar[pattern=<pattern>] | ||||
| 
 | ||||
| \RequirePackage{tikz,pgffor,xkeyval,ifthen,calc,forloop} | ||||
| 
 | ||||
| \usetikzlibrary{patterns} | ||||
| \usetikzlibrary{arrows} | ||||
| 
 | ||||
| \newcounter{ganttnum} | ||||
| \newcounter{ganttwidth} | ||||
| 
 | ||||
| \newlength{\ganttlastx} | ||||
| \setlength{\ganttlastx}{0cm} | ||||
| 
 | ||||
| \newlength{\nextganttlastx} | ||||
| 
 | ||||
| \newlength{\gantttmpa} | ||||
| \newlength{\gantttmpb} | ||||
| \newlength{\ganttunitlength} | ||||
| 
 | ||||
| \setlength{\ganttunitlength}{1cm} | ||||
| 
 | ||||
| \newlength{\titleunitlength} | ||||
| \setlength{\titleunitlength}{1cm} | ||||
| 
 | ||||
| \newcounter{gantttitlenum} | ||||
| 
 | ||||
| \define@key{ganttx}{xunitlength}{% | ||||
|   \setlength{\ganttunitlength}{#1} | ||||
| } | ||||
| \define@boolkey{ganttx}{drawledgerline}{} | ||||
| 
 | ||||
| \define@key{ganttx}{fontsize}{\def\ganttfontsize{#1}} | ||||
| \define@key{ganttx}{titlefontsize}{\def\gantttitlefontsize{#1}} | ||||
| 
 | ||||
| \presetkeys{ganttx}{drawledgerline=false,xunitlength=1cm,titlefontsize=\small,fontsize=\normalsize}{} | ||||
| 
 | ||||
| \define@key{ganttbarx}{pattern}{\def\ganttbarpattern{#1}} | ||||
| \define@key{ganttbarx}{color}{\def\ganttbarcolor{#1}} | ||||
| 
 | ||||
| \presetkeys{ganttbarx}{pattern=north west lines,color=black}{} | ||||
| 
 | ||||
| 
 | ||||
| % The gantt environment draws the canvas of a gantt figure (realized as tikzpicture) | ||||
| % The usage is \begin{gantt}[...]{no of Tasks to plot}{no of time slots} | ||||
| % The optional argument [...] can be filled in a key=value syntax, using one or more of the following keys: | ||||
| % | ||||
| % xunitlength - length of one time slot (default: 1 cm) | ||||
| % fontsize - fontsize of labels (default: \normalsize) | ||||
| % titlefontsize - fontsize of title section (default: \small) | ||||
| % drawledgerline  - Switch to enable/disable the drawing of horizontal ledger lines (default value: false) | ||||
| 
 | ||||
| \newenvironment{gantt}[3][]{% | ||||
|   \begin{tikzpicture}[draw=black, yscale=.7,xscale=1] | ||||
|   \tikzstyle{time}=[coordinate] | ||||
|   \setkeys{ganttx}{#1}{% | ||||
|       \setcounter{ganttwidth}{#3} | ||||
| 
 | ||||
|       \setcounter{ganttnum}{0} | ||||
|       \newcount\ganttx | ||||
|       \newcount\ganttheight | ||||
|       \ganttheight=#2 %define the number of Y ticks | ||||
|       \advance\ganttheight by 1 | ||||
| 
 | ||||
|       \def\ganttxstringtop{}; | ||||
|       \def\ganttxstringbottom{}; | ||||
| 
 | ||||
|       \ganttx=0 | ||||
|       \draw (0,0.5) node[above] {\ganttxstringtop} -- (0,1.4-\ganttheight)  node[below] {\ganttxstringbottom}; | ||||
|       \draw (\value{ganttwidth}*\ganttunitlength,0.5) node[above] {\ganttxstringtop} -- (\value{ganttwidth}*\ganttunitlength,1.4-\ganttheight)  node[below] {\ganttxstringbottom}; | ||||
| 
 | ||||
|       %draw grid | ||||
|       \foreach \t in {1,2,...,\value{ganttwidth}}{ | ||||
|         \ganttx=1 | ||||
|         \multiply\ganttx by \t | ||||
| 
 | ||||
|         \draw[dotted] (\ganttunitlength*\t,-0.5) node[above] {\ganttxstringtop} -- (\ganttunitlength*\t,1.4-\ganttheight)  node[below] {\ganttxstringbottom}; | ||||
|       } | ||||
|      %draw x axis | ||||
|      \draw[] (0,-#2+0.4) -- (\value{ganttwidth}*\ganttunitlength,-#2+0.4); | ||||
| } | ||||
| }{\end{tikzpicture}} | ||||
| 
 | ||||
| 
 | ||||
| % ganttitle is the environment for drawing the title section | ||||
| \newenvironment{ganttitle}[1][]{% | ||||
|   \setlength{\ganttlastx}{0 cm} | ||||
| }{% | ||||
|   \setlength{\ganttlastx}{0 cm} | ||||
|   \addtocounter{ganttnum}{-1}% | ||||
| } | ||||
| 
 | ||||
| % \titleelement draws one element of the title | ||||
| % usage: \titleelement{label}{length} | ||||
| \newcommand{\titleelement}[2]{ | ||||
|   \setlength{\gantttmpa}{\ganttunitlength*#2} | ||||
|   \divide\gantttmpa by 2; | ||||
| 
 | ||||
|   \draw (\the\ganttlastx,\value{ganttnum}) rectangle (\the\ganttlastx+#2*\ganttunitlength,\value{ganttnum}+0.6); | ||||
|   \node [text height=1.5ex,text depth=0.7ex] at (\the\ganttlastx+\the\gantttmpa,\value{ganttnum}+0.25) {% | ||||
|     \gantttitlefontsize #1% | ||||
|   }; | ||||
|   \setlength{\ganttlastx}{\ganttlastx+\ganttunitlength*\real{#2}} | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| % \numtitle draws a numbered sequence of title elements | ||||
| % usage: \numtitle{start number}{increment}{end number}{length of each title element} | ||||
| \newcommand{\numtitle}[4]{ | ||||
|   \forloop[#2]{gantttitlenum}{#1}{\(\value{gantttitlenum} < #3\) \or \(\value{gantttitlenum} = #3\)}% | ||||
|   {% | ||||
|     \titleelement{\thegantttitlenum}{#4} | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| % \ganttbar draws a single, unconnected bar for representing a task | ||||
| % usage: \ganttbar[pattern=<pattern>,color=<color>]{label}{start}{length} | ||||
| % where the optional comma separated arguments are: | ||||
| % pattern - is a tikz pattern (e.g. north west lines (default), north east lines, crosshatch, crosshatch dots, grid, ...) | ||||
| % color - a tikz color of the pattern (e.g. red, green blue gray, dark gray) | ||||
| % for more information see the tikz documentation | ||||
| \newcommand{\ganttbar}[4][]{ | ||||
|   \setlength{\gantttmpa}{#3\ganttunitlength} | ||||
|   \setlength{\gantttmpb}{#4\ganttunitlength} | ||||
|   \setlength{\gantttmpb}{\gantttmpa+\gantttmpb} | ||||
| 
 | ||||
|   \ifKV@ganttx@drawledgerline | ||||
|     \draw[dotted] (0,\value{ganttnum}-0.2) -- (\value{ganttwidth}*\ganttunitlength,\value{ganttnum}-0.2); | ||||
|   \fi | ||||
|   \node at (0,\value{ganttnum}) [anchor=base east] {% | ||||
| 		\ganttfontsize #2% | ||||
|   }; | ||||
|   \setkeys{ganttbarx}{#1}{% | ||||
|   \draw[pattern=\ganttbarpattern,pattern color=\ganttbarcolor] (\gantttmpa,\value{ganttnum}+0.1) rectangle (\gantttmpb,\value{ganttnum}+0.5); | ||||
|   } | ||||
|   \setlength{\ganttlastx}{\gantttmpb} | ||||
|   \addtocounter{ganttnum}{-1} | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| % \ganttcon draws an arrow between to bars with specified coordinates | ||||
| % usage: \ganttcon{startx}{starty}{endx}{endy} | ||||
| \newcommand{\ganttcon}[4]{ | ||||
|     \draw[-latex,rounded corners=1pt] (#1\ganttunitlength,-#2+0.1 + 0.2) -- (#1\ganttunitlength+0.4*\ganttunitlength,-#2+0.1+0.2) -- (#1\ganttunitlength+0.4*\ganttunitlength,-#2-0.4+0.2) -- (#1\ganttunitlength-0.4*\ganttunitlength,-#2-0.4+0.2) -- (#1\ganttunitlength-0.4*\ganttunitlength,-#4+0.1+0.2) -- (#3\ganttunitlength,-#4+0.1+0.2); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| % \ganttbarcon draws a single bar *and* connects the bar with the previous bar for  | ||||
| % consecutive tasks | ||||
| % usage: \ganttbarcon[pattern=<pattern>,color=<color>]{label}{start}{length} | ||||
| % where the optional pattern argument are the same as for \ganttbar | ||||
| \newcommand{\ganttbarcon}[4][]{ | ||||
|   \setlength{\nextganttlastx}{\the\ganttlastx+1\ganttunitlength} | ||||
|   \ifdim\nextganttlastx>#3\ganttunitlength | ||||
|     \draw[-latex,rounded corners=1pt] (\the\ganttlastx,\value{ganttnum}+1.1 + 0.2) -- (\the\ganttlastx+0.4*\ganttunitlength,\value{ganttnum}+1.1+0.2) -- (\the\ganttlastx+0.4*\ganttunitlength,\value{ganttnum}+0.6+0.2) -- (\the\ganttlastx-0.4*\ganttunitlength,\value{ganttnum}+0.6+0.2) -- (\the\ganttlastx-0.4*\ganttunitlength,\value{ganttnum}+0.1+0.2) -- (#3\ganttunitlength,\value{ganttnum}+0.1+0.2); | ||||
|   \else | ||||
|     \draw[-latex,rounded corners=1pt] (\the\ganttlastx,\value{ganttnum}+1.1 + 0.2) -- (\the\ganttlastx+0.4*\ganttunitlength,\value{ganttnum}+1.1+0.2) -- (\the\ganttlastx+0.4*\ganttunitlength,\value{ganttnum}+0.1+0.2) -- (#3\ganttunitlength,\value{ganttnum}+0.1+0.2); | ||||
|   \fi | ||||
|   \ganttbar[#1]{#2}{#3}{#4}   | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| % \ganttgroup draws a bar to group tasks | ||||
| % usage: \ganttgroup{label}{start}{length} | ||||
| \newcommand{\ganttgroup}[3]{% | ||||
|   \setlength{\gantttmpa}{#2\ganttunitlength} | ||||
|   \setlength{\gantttmpb}{#3\ganttunitlength} | ||||
|   \setlength{\gantttmpb}{\gantttmpa+\gantttmpb} | ||||
| 
 | ||||
|   \ifKV@ganttx@drawledgerline | ||||
|     \draw[dotted] (0,\value{ganttnum}-0.2) -- (\value{ganttwidth}*\ganttunitlength,\value{ganttnum}-0.2); | ||||
|   \fi | ||||
|   \node at (0,\value{ganttnum}) [anchor=base east] {% | ||||
|     \ganttfontsize\bfseries #1% | ||||
|    }; | ||||
|   \fill[black] (\gantttmpa-0.14cm,\value{ganttnum}+0.2) rectangle (\gantttmpb+0.14cm,\value{ganttnum}+0.4); | ||||
|   \draw[diamond-diamond] (\gantttmpa-0.14cm,\value{ganttnum}+0.2) -- (\gantttmpb+0.14cm,\value{ganttnum}+0.2); | ||||
| 
 | ||||
|   \setlength{\ganttlastx}{\gantttmpb} | ||||
|   \addtocounter{ganttnum}{-1} | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| % \ganttmilestone, draw a diamond to represent a milestone | ||||
| % usage: \ganttgroup[fill=<color>]{label}{start} | ||||
| % color - a tikz color of the pattern (e.g. red, green blue gray, dark gray) | ||||
| % for more information see the tikz documentation | ||||
| 
 | ||||
| % Declaring layers to abvoid superposition when you connect a \ganttmileston with a task | ||||
| \pgfdeclarelayer{background} | ||||
| \pgfdeclarelayer{foreground} | ||||
| \pgfsetlayers{background,main,foreground} | ||||
| 
 | ||||
| \newcommand{\ganttmilestone}[3][]{ | ||||
|   \setlength{\gantttmpa}{#3\ganttunitlength} | ||||
|   \setlength{\gantttmpb}{0\ganttunitlength} | ||||
|   \setlength{\gantttmpb}{\gantttmpa+\gantttmpb} | ||||
| 
 | ||||
|   \ifKV@ganttx@drawledgerline | ||||
|     \draw[dotted] (0,\value{ganttnum}-0.2) -- (\value{ganttwidth}*\ganttunitlength,\value{ganttnum}-0.2); | ||||
|   \fi | ||||
|   \node at (0,\value{ganttnum}) [anchor=base east] {% | ||||
| 		\ganttfontsize #2% | ||||
|   }; | ||||
|   \setkeys{ganttbarx}{#1}{% | ||||
|   \pgfonlayer{foreground} | ||||
|   \draw[diamond-, color=\ganttbarcolor] (\gantttmpa,\value{ganttnum}+0.1) -- (\gantttmpb,\value{ganttnum}+0.4); | ||||
|   \endpgfonlayer | ||||
|   } | ||||
|   \setlength{\ganttlastx}{\gantttmpb} | ||||
|   \addtocounter{ganttnum}{-1} | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| % \ganttmilestonecon draws a single diamond *and* connects the diamond with the previous task | ||||
| % usage: \ganttmilestonecon[color=<color>]{label}{start}{length} | ||||
| % where the optional color argument are the same as for \ganttbar and \ganttmilestone | ||||
| 
 | ||||
| \newcommand{\ganttmilestonecon}[3][]{ | ||||
|   \setlength{\nextganttlastx}{\the\ganttlastx+1\ganttunitlength} | ||||
|   \ifdim\nextganttlastx>#3\ganttunitlength | ||||
|     \draw[-latex,rounded corners=1pt] (\the\ganttlastx,\value{ganttnum}+1.1 + 0.2) -- (\the\ganttlastx+0.4*\ganttunitlength,\value{ganttnum}+1.1+0.2) -- (\the\ganttlastx+0.4*\ganttunitlength,\value{ganttnum}+0.6+0.2) -- (\the\ganttlastx-0.4*\ganttunitlength-1.8,\value{ganttnum}+0.6+0.2) -- (\the\ganttlastx-0.4*\ganttunitlength-1.8,\value{ganttnum}+0.1+0.2) -- (#3\ganttunitlength-1.8,\value{ganttnum}+0.1+0.2); | ||||
|     % | ||||
|     \else | ||||
|     \draw[-latex,rounded corners=1pt] (\the\ganttlastx,\value{ganttnum}+1.1 + 0.2) -- (\the\ganttlastx+0.4*\ganttunitlength,\value{ganttnum}+1.1+0.2) -- (\the\ganttlastx+0.4*\ganttunitlength,\value{ganttnum}+0.1+0.2) -- (#3\ganttunitlength-1.8,\value{ganttnum}+0.1+0.2); | ||||
|   \fi | ||||
| %  \fi | ||||
|   \ganttmilestone[#1]{#2}{#3}   | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| \endinput | ||||
| @ -48,5 +48,35 @@ différentes choses à faire tester aux encadrants se sont retrouvées sur des | ||||
| pages à cette adresse. | ||||
| 
 | ||||
| \newpage | ||||
| \begin{landscape} | ||||
| \section{Planning} | ||||
| % TODO | ||||
| \begin{figure}[H] | ||||
|   \begin{gantt}{20}{20} | ||||
|     \begin{ganttitle} | ||||
|       \titleelement{Mars}{2} | ||||
|       \titleelement{Avril}{2} | ||||
|       \titleelement{Mai}{2} | ||||
|       \titleelement{Juin}{2} | ||||
|       \titleelement{Juillet}{2} | ||||
|       \titleelement{Août}{2} | ||||
|       \titleelement{Septembre}{2} | ||||
|       \titleelement{Octobre}{2} | ||||
|       \titleelement{Novembre}{2} | ||||
|       \titleelement{Décembre}{2} | ||||
|     \end{ganttitle} | ||||
|     \ganttmilestone{Début du stage}{1} | ||||
|     \ganttbar{Bibliographie}{1}{2} | ||||
|     \ganttbar{Choix des technos}{1}{2} | ||||
|     \ganttbar{Interface (base)}{3}{1} | ||||
|     \ganttbar{Recommandation (\emph{viewport})}{4}{2} | ||||
|     \ganttbar{Recommandation (\emph{arrow})}{6}{2} | ||||
|     \ganttbar{Recherche de scènes}{2}{2} | ||||
|     \ganttbar{Système de pièces}{7}{4} | ||||
|     \ganttbar[color=green]{Fermeture du labo}{9}{1} | ||||
|     \ganttbar{Étude utilisateur (labo)}{11}{1} | ||||
|     \ganttbar{Rapport / Slides}{11}{2} | ||||
|     \ganttmilestone{Fin du stage}{12} | ||||
|   \end{gantt} | ||||
|   \caption{Planning du projet} | ||||
| \end{figure} | ||||
| \end{landscape} | ||||
|  | ||||
| @ -19,6 +19,8 @@ anchorcolor = blue]{hyperref} | ||||
| \usepackage{tikz} | ||||
| \usepackage{pgfplots} | ||||
| \usepackage{subcaption} | ||||
| \usepackage{pdflscape} | ||||
| \usepackage{gantt} | ||||
| \lstset{language=matlab} | ||||
| 
 | ||||
| \setlength{\hoffset}{-18pt} | ||||
|  | ||||
| @ -1 +1,38 @@ | ||||
| \part{Présentation du projet, contexte et objectifs} | ||||
| \section{Contexte} | ||||
| \paragraph{} | ||||
| Ce travail s'inscrit dans la progression des anciens travaux de Vincent | ||||
| Charvillat et d'Axel Carlier sur la prédicabilité du comportement d'un | ||||
| utilisateur en interaction avec un lecteur vidéo. L'objectif était alors de | ||||
| proposé un modèle de préchargement plus intelligent que le préchargement | ||||
| linéaire qui est actuellement implémenté sur les sites de streaming vidéo comme | ||||
| YouTube. | ||||
| 
 | ||||
| \paragraph{} | ||||
| L'idée était de suggérer à l'utilisateur des zones intéressantes dans la vidéo | ||||
| de sorte à biaiser son comportement. Lorsqu'un utilisateur parcourt une vidéo, | ||||
| il peut sauter des passages et aller directement à d'autres. En ajoutant des | ||||
| recommandations sur une barre de navigation, on peut espérer que l'utilisateur | ||||
| clique sur ces zones intéressantes plutôt qu'ailleurs. Plutôt que de précharger | ||||
| toute la vidéo linéairement, on peut donc précharger les zones intéressantes et | ||||
| réduire la latence lorsque l'utilisateur va sauter une partie pour aller vers | ||||
| une zone recommandée. | ||||
| 
 | ||||
| \section{Objectifs} | ||||
| \paragraph{} | ||||
| Ce projet a pour but d'appliquer les idées citées précédemment dans le contexte | ||||
| de la navigation et du streaming de modèles 3D. Nous avons donc développé une | ||||
| interface permettant de naviguer dans une scène 3D de manière plus simples que | ||||
| les interfaces actuellement existantes (et qui sont, le plus souvent, utilisées | ||||
| dans le monde du jeux vidéo). En effet, de nombreuses personnes n'ont pas | ||||
| l'habitude de jouer aux jeux vidéo, et peinent à utiliser les interfaces | ||||
| actuelles. | ||||
| 
 | ||||
| \paragraph{} | ||||
| L'objectif est de faciliter la navigation grâce à un système de recommandations | ||||
| qui permettent à l'utilisateur de se déplacer facilement d'un point de vue | ||||
| intéressant à un autre, quitte à devoir utiliser les interactions classiques | ||||
| s'il désire un point de vue plus précis. En supposant que l'utilisateur soit | ||||
| susceptible de sauter vers les vues recommandées, on peut précharger des | ||||
| parties d'un modèle plutôt que d'autres de sorte à éviter que l'utilisateur se | ||||
| retrouve dans une zone de la scène qui n'est pas encore chargée. | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user