changed some GFX

fixed some TeX issues
This commit is contained in:
2016-02-21 21:05:34 +01:00
parent 3fd0db82fe
commit 44504f0a59
16 changed files with 223513 additions and 76119 deletions

View File

@@ -62,7 +62,9 @@
\input{gfx/eval/paths}
\caption{The four paths that were part of the evaluation.
Starting positions are marked with black circles.
For a better visualisation they were slightly shifted to avoid overlapping.}
For a better visualisation they were slightly shifted to avoid overlapping.
\commentByFrank{font war korrekt, aber die groesse war zu gross im vgl. zu den anderen}
}
\label{fig:paths}
\end{figure}
% error development over time while walking along a path
@@ -105,7 +107,7 @@
%
Directly hereafter, we ignore the shortest path \refSeg{3'} determined by the system and walk along \refSeg{3}
instead. Of course, this leads to a temporally increasing error, as the system needs to detect this path change
and takes some time to recover (see fig. \ref{fig:errorDistNexus} \refSeg{3}). The new path to the desired destination
and takes some time to recover (see fig. \ref{fig:errorTimedNexus} \refSeg{3}). The new path to the desired destination
is \refSeg{3''} which is also ignored. Instead, we took a much longer route down the stairwell \refSeg{4}.
After this change is detected by the system, prior knowledge is again able to reduce the error for segment \refSeg{5}.
%

View File

@@ -33,8 +33,10 @@
To reduce the system's memory footprint, we search for the largest connected region within the graph and
remove all nodes and edges that are not connected to this region.
New states $\mStateVec_{t}$ may now be sampled by starting at the vertex for $\fPos{\mStateVec_{t-1}}$ and
walking along adjacent nodes into a given walking-direction $\gHead$ until a distance $\gDist$ is
New states $\mStateVec_{t}$ may now be sampled by starting at the vertex for
position $\fPos{\mStateVec_{t-1}} = (x,y,z)^T$
\commentByFrank{eingefuehrt}
and walking along adjacent nodes into a given walking-direction $\gHead$ until a distance $\gDist$ is
reached \cite{Ebner-15}.
Both, heading and distance, are supplied by the current sensor readings $\mObsVec_{t}$
and thus reflect the pedestrian's real heading and walking speed including uncertainty.
@@ -45,12 +47,14 @@
\gDist &= \mObs_t^{\mObsSteps} \cdot \SI{0.7}{\meter} + \mathcal{N}(0, \sigma_{\gDist}^2)
.
\end{align}
\commentByFrank{fixed. war das falsche makro in (2) und dem satz darunter. das delta musste weg. der state hat ein absolutes heading}
%
During the random walk, each edge has its own probability $p(e)$
which e.g. depends on the edge's direction $\angle e$ and the
pedestrian's current heading $\gHead$.
Furthermore, $p(e)$ is used to incorporate prior path knowledge to
favour edges leading towards the pedestrian's desired target.
Furthermore, section \ref{sec:nav} uses $p(e)$ to incorporate prior path knowledge to
favour edges leading towards the pedestrian's desired target $\mTarget$.
\commentByFrank{fixed}
For each single movement on the graph, we calculate $p(e)$ for all edges
connected to a vertex $v$, and, hereafter, randomly draw the to-be-walked edge
@@ -73,6 +77,7 @@
\section{Navigational Knowledge}
\label{sec:nav}
Considering navigation, a pedestrian wants to reach a well-known destination which represents additional
prior knowledge. Most probably, the user will stick to the path presented by
@@ -85,10 +90,10 @@
As discussed in section \ref{sec:relatedWork}, simply applying a shortest-path algorithm such as Dijkstra or
A* using the previously created graph would obviously lead to non-realistic paths sticking to walls and
walking many diagonals. Pedestrian's however, will probably keep a small gap between themselves and
walking many diagonals. Pedestrians however, will probably keep a small gap between themselves and
nearby walls. To calculate paths that resemble this behaviour, an importance-factor is derived for
each vertex. Those will be used to modify the distance $\fDistance{u}{v}$ between two vertices
$u,v$, examined by the shortest-path algorithm.
each vertex. Those will be used to modify the weight $\fDistance{v}{v'}$ between two vertices
$v,v'$, examined by the shortest-path algorithm.
To downvote vertices near walls, we need to determine the distance of each vertex from its nearest wall.
We therefore derive an inverted version $G' = (V', E')$ of the graph $G$, just describing walls and
@@ -137,7 +142,8 @@
\varphi = \fPos{v_i}-\vec{c} \enskip.
\end{equation}
%
For $\mat{\Sigma}$, the two largest eigenvalues $\{\lambda_1, \lambda_2 \mid \lambda_1 > \lambda_2\}$
For $\mat{\Sigma}$, the two largest eigenvalues $\lambda_1, \lambda_2$ with $\lambda_1 > \lambda_2$
\commentByFrank{fixed}
are calculated. If their ratio $^{\lambda_1}/_{\lambda_2}$ is above a certain
threshold, the neighbourhood describes a flat ellipse and thus either a door or a straight wall.
%
@@ -180,7 +186,8 @@
door-regions higher values, depicted in fig. \ref{fig:importance}.
%
\begin{figure}
\includegraphics[width=\columnwidth]{floorplan_importance}
%\includegraphics[width=\columnwidth]{floorplan_importance}
\input{gfx/floorplan_importance}
\caption{The calculated importance-factor \refeq{eq:finalImp} for each vertex.
While the dark wall-elements denote a small importance, the yellow areas around doors and narrow
passages depict a high importance.}
@@ -247,15 +254,16 @@
%
This centre serves as the starting point for the shortest-path calculation.
As it is not necessarily part of the grid, its nearest-grid-neighbour is determined and used instead.
This vertex is located somewhere within the sample-set and already knows the way to the pedestrian's destination.
This vertex is located somewhere within the sample-set and already knows the way to the pedestrian's
destination $\mTarget$.
%
As new states $\mStateVec_{t}$ should approach the pedestrian's destination
we use a reference $\pathRef$ all states try to reach. This references must
be both, part of the shortest path and located somewhere outside of the sample-set.
be both part of the shortest path and located somewhere outside of the sample-set.
%
We thus calculate the standard deviation of the distance of all samples from the centre
$\pathCentroid$. After advancing the starting-vertex by three times this deviation
we get a new point $\pathRef$ that is: part of the shortest path, outside of the sample-set
we get the new point $\pathRef$ that is: part of the shortest path, outside of the sample-set
and closer (but not too close) to the desired destination.
%
Hereafter, the simple transition \refeq{eq:transSimple} is combined with a second probability,
@@ -274,7 +282,7 @@
0.1 & \text{else}
\end{cases}
\end{split}
.
\enskip .
\label{eq:transShortestPath}
\end{equation}
%
@@ -284,7 +292,7 @@
\subsubsection{Multipath}
The shortest-path algorithm mentioned in \ref{sec:pathEstimation} already calculated the distance
$\fDistance{v}{\dot{v}}$ % = \sum_{i=s}^{e-1} \| v_{i} - v_{i+1} \| $
$\fLength{v}{\dot{v}}$ % = \sum_{i=s}^{e-1} \| v_{i} - v_{i+1} \| $
for the path from $v$ to the pedestrian's destination $\dot{v}$.
We thus apply the same assumption as \refeq{eq:transShortestPath} and downvote edges
not decreasing the distance to the destination:
@@ -296,10 +304,11 @@
\mathcal{N} (\angle e \mid \gHead, \sigma_\text{dev}^2) \cdot \alpha \\
\alpha &=
\begin{cases}
0.9 & \fDistance{v'}{\dot{v}} < \fDistance{v}{\dot{v}} \\
0.9 & \fLength{v'}{\dot{v}} < \fLength{v}{\dot{v}} \\
0.1 & \text{else}
\end{cases}
\end{split}
\enskip .
\label{eq:transMultiPath}
\end{equation}
%
@@ -308,11 +317,13 @@
are covered and slight deviations from the shortest version are possible.
%
\begin{figure}
\includegraphics[width=\columnwidth, trim=4 8 4 4]{floorplan_dijkstra_heatmap}
\caption{Heat-Map of visited vertices after several walks using \refeq{eq:transMultiPath} with colours
from cold to hot. Both possible paths are covered and slight deviations are possible.
%\includegraphics[width=\columnwidth, trim=4 8 4 4]{floorplan_dijkstra_heatmap}
\input{gfx/floorplan_dijkstra_heatmap}
\caption{Heat-Map showing the number of visits per vertex after $30.000$ walks using \refeq{eq:transMultiPath}.
Both possible paths are covered and slight deviations are possible.
Additionally shows the shortest-path calculation without (dashed) and with (solid) importance-factors
used for edge-weight-adjustment.}
used for edge-weight-adjustment.
\commentByFrank{so besser?}}
\label{fig:multiHeatMap}
\end{figure}

View File

@@ -16,8 +16,10 @@
%
\begin{figure}
\include{gfx/baro/baro_setup_issue}
\caption{Sometimes the barometer provides erroneous \SI{}{\hpa} readings during the first seconds. Those
need to be omitted before $\sigma_\text{baro}$ and $\overline{\mObsPressure}$ are estimated.}
\caption{Sometimes the smartphone's barometer (here: Motorola Nexus 6) provides erroneous pressure readings
during the first seconds. Those need to be omitted before $\sigma_\text{baro}$ and
$\overline{\mObsPressure}$ are estimated.
\commentByFrank{fixed}}
\label{fig:baroSetupError}
\end{figure}
%
@@ -49,7 +51,7 @@
\subsection{Wi-Fi \& iBeacons}
Additional absolute location hints, are provided by the smartphone's \docWIFI{} and \docIBeacon{} component,
Additional absolute location hints are provided by the smartphone's \docWIFI{} and \docIBeacon{} component,
measuring the signal-strengths of nearby transmitters. As the positions of both \docAP{}s and \docIBeacon{}s
are known beforehand, we compare each measurement with its corresponding signal strength prediction using
the wall-attenuation-factor model \cite{Ebner-15}. This prediction depends on the 3D distance $d$ from the
@@ -89,7 +91,8 @@
impoverishment due to a small measurement noise. This happens since accurate observations result in high peaks
of the evaluation density and therefore the proposal density is not able to sample outside that peak \cite{Isard98:CCD}.
Additionally, erroneous or delayed measurements from absolute positioning sensors like \docWIFI{} may lead to misplaced turns.
This causes a downvoting of particles with increased heading deviation.
This causes a downvoting of all states $\mStateVec_t$ with increased heading deviation.
\commentByFrank{so besser?: downvoting of states statt particles}
Therefore, we incorporate the turn-detection, as well as the related step-detection, directly into the state transition
$p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})$, which leads to a more directed sampling instead of a truly random one.

View File

@@ -17,11 +17,11 @@
where $\mObsVec_{1:t} = \mObsVec_{1}, \mObsVec_{1}, ..., \mObsVec_{t}$ is a series of observations up to time $t$.
The hidden state $\mStateVec$ is given by
\begin{equation}
\mStateVec = (x, y, z, \mObsHeading, \mStatePressure),\enskip
x, y, z, \mObsHeading, \mStatePressure \in \R \enspace,
\mStateVec = (x, y, z, \mStateHeading, \mStatePressure),\enskip
x, y, z, \mStateHeading, \mStatePressure \in \R \enspace,
\end{equation}
%
where $x, y, z$ represent the position in 3D space, $\mObsHeading$ the user's heading and $\mStatePressure$ the
where $x, y, z$ represent the position in 3D space, $\mStateHeading$ the user's heading and $\mStatePressure$ the
relative atmospheric pressure prediction in hectopascal (hPa).
The recursive part of the density estimation contains all information up to time $t-1$.
Furthermore, the state transition models the pedestrian's movement as described in section \ref{sec:trans}.

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ set yrange[980.5:981.5]
set xrange[0:50]
set ytics 980.5, 0.2, 981.5
set lmargin 4.5
set lmargin 6.0
set rmargin 1.0
set tmargin 0.5
set bmargin 0.1
@@ -17,7 +17,7 @@ set bmargin 0.1
set xtics nomirror
set ytics nomirror
set format y "\\footnotesize{\\SI{%.1f}{}}"
set format y "\\footnotesize{\\SI{%.1f}{\\hpa}}"
set format x "\\footnotesize{\\SI{%.0f}{\\second}}"
set object 1 rectangle from 0,980.5 to 4.000,981.5 fs solid noborder fc rgb "#EEEEEE" behind

View File

@@ -82,25 +82,25 @@
\begin{picture}(5040.00,2014.00)%
\gplgaddtomacro\gplbacktext{%
\csname LTb\endcsname%
\put(462,22){\makebox(0,0)[r]{\strut{}\footnotesize{\SI{980.5}{}}}}%
\put(462,398){\makebox(0,0)[r]{\strut{}\footnotesize{\SI{980.7}{}}}}%
\put(462,774){\makebox(0,0)[r]{\strut{}\footnotesize{\SI{980.9}{}}}}%
\put(462,1151){\makebox(0,0)[r]{\strut{}\footnotesize{\SI{981.1}{}}}}%
\put(462,1527){\makebox(0,0)[r]{\strut{}\footnotesize{\SI{981.3}{}}}}%
\put(462,1903){\makebox(0,0)[r]{\strut{}\footnotesize{\SI{981.5}{}}}}%
\put(594,-198){\makebox(0,0){\strut{}\footnotesize{\SI{0}{\second}}}}%
\put(1457,-198){\makebox(0,0){\strut{}\footnotesize{\SI{10}{\second}}}}%
\put(2319,-198){\makebox(0,0){\strut{}\footnotesize{\SI{20}{\second}}}}%
\put(3182,-198){\makebox(0,0){\strut{}\footnotesize{\SI{30}{\second}}}}%
\put(4044,-198){\makebox(0,0){\strut{}\footnotesize{\SI{40}{\second}}}}%
\put(660,22){\makebox(0,0)[r]{\strut{}\footnotesize{\SI{980.5}{\hpa}}}}%
\put(660,398){\makebox(0,0)[r]{\strut{}\footnotesize{\SI{980.7}{\hpa}}}}%
\put(660,774){\makebox(0,0)[r]{\strut{}\footnotesize{\SI{980.9}{\hpa}}}}%
\put(660,1151){\makebox(0,0)[r]{\strut{}\footnotesize{\SI{981.1}{\hpa}}}}%
\put(660,1527){\makebox(0,0)[r]{\strut{}\footnotesize{\SI{981.3}{\hpa}}}}%
\put(660,1903){\makebox(0,0)[r]{\strut{}\footnotesize{\SI{981.5}{\hpa}}}}%
\put(792,-198){\makebox(0,0){\strut{}\footnotesize{\SI{0}{\second}}}}%
\put(1615,-198){\makebox(0,0){\strut{}\footnotesize{\SI{10}{\second}}}}%
\put(2438,-198){\makebox(0,0){\strut{}\footnotesize{\SI{20}{\second}}}}%
\put(3261,-198){\makebox(0,0){\strut{}\footnotesize{\SI{30}{\second}}}}%
\put(4084,-198){\makebox(0,0){\strut{}\footnotesize{\SI{40}{\second}}}}%
\put(4907,-198){\makebox(0,0){\strut{}\footnotesize{\SI{50}{\second}}}}%
}%
\gplgaddtomacro\gplfronttext{%
\csname LTb\endcsname%
\put(749,1790){\rotatebox{90}{\makebox(0,0)[r]{\strut{}\small{error}}}}%
\put(1189,1790){\rotatebox{90}{\makebox(0,0)[r]{\strut{}\small{estimation}}}}%
\put(2569,1715){\makebox(0,0){\strut{}\small{walking along the hallway}}}%
\put(4200,1715){\makebox(0,0){\strut{}\small{stair}}}%
\put(940,1790){\rotatebox{90}{\makebox(0,0)[r]{\strut{}\small{error}}}}%
\put(1360,1790){\rotatebox{90}{\makebox(0,0)[r]{\strut{}\small{estimation}}}}%
\put(2677,1715){\makebox(0,0){\strut{}\small{walking along the hallway}}}%
\put(4232,1715){\makebox(0,0){\strut{}\small{stair}}}%
}%
\gplbacktext
\put(0,0){\includegraphics{baro_setup_issue}}%

View File

@@ -1,7 +1,7 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: paths.tex
%%Creator: gnuplot 5.0 patchlevel 1
%%CreationDate: Tue Feb 16 19:10:12 2016
%%CreationDate: Sun Feb 21 19:48:40 2016
%%DocumentFonts:
%%BoundingBox: 50 50 302 230
%%EndComments
@@ -441,7 +441,7 @@ SDict begin [
/Author (kazu)
% /Producer (gnuplot)
% /Keywords ()
/CreationDate (Tue Feb 16 19:10:12 2016)
/CreationDate (Sun Feb 21 19:48:40 2016)
/DOCINFO pdfmark
end
} ifelse
@@ -487,14 +487,14 @@ LTb
1.000 UP
1.000 UL
LTb
156 200 N
288 200 N
0 880 V
1053 0 V
921 0 V
0 -880 V
156 200 L
-921 0 V
Z stroke
156 1080 M
1053 0 V
288 1080 M
921 0 V
stroke
LT2
LC2 setrgbcolor
@@ -4607,19 +4607,19 @@ LTb
1068 3213 CircleF
570 2690 CircleF
LCw setrgbcolor
1.000 156 200 1053 880 BoxColFill
1.000 288 200 921 880 BoxColFill
1.000 UL
LTb
LCb setrgbcolor
LTb
156 200 N
288 200 N
0 880 V
1053 0 V
921 0 V
0 -880 V
156 200 L
-921 0 V
Z stroke
156 1080 M
1053 0 V
288 1080 M
921 0 V
stroke
LT2
LC2 setrgbcolor

View File

@@ -10,7 +10,7 @@ unset border
set view 67,40
unset key
set key opaque box horizontal maxcols 12 at screen 0.24,0.3 width -2.5 samplen 1.0
set key opaque box horizontal maxcols 12 at screen 0.24,0.3 width -4.5 samplen 1.0
set multiplot layout 1,1 scale 2.3,2.3 offset 0,-0.030
@@ -20,10 +20,10 @@ set zrange [-300:1600]
splot \
"data/floors.dat" with lines lc rgb "#aaaaaa" dashtype 3 notitle,\
"data/path1.dat" using (column(1)+70):(column(2)-60):3 with lines lw 3.0 dashtype 3 lc rgb "#000000" title "path 1", \
"data/path2.dat" using (column(1)+60):(column(2)+60):3 with lines lw 1.5 lc rgb "#990000" title "path 2",\
"data/path3.dat" using (column(1)-30):(column(2)+90):3 with lines lw 1.5 lc rgb "#000099" title "path 3",\
"data/path4.dat" using (column(1)-70):(column(2)-60):3 with lines lw 1.5 lc rgb "#009900" title "path 4",\
"data/path1.dat" using (column(1)+70):(column(2)-60):3 with lines lw 3.0 dashtype 3 lc rgb "#000000" title "\\footnotesize{path 1}", \
"data/path2.dat" using (column(1)+60):(column(2)+60):3 with lines lw 1.5 lc rgb "#990000" title "\\footnotesize{path 2}",\
"data/path3.dat" using (column(1)-30):(column(2)+90):3 with lines lw 1.5 lc rgb "#000099" title "\\footnotesize{path 3}",\
"data/path4.dat" using (column(1)-70):(column(2)-60):3 with lines lw 1.5 lc rgb "#009900" title "\\footnotesize{path 4}",\
"data/startpoints_moved.dat" with points notitle pt 7 ps 1.0 lc rgb "#000000",\

View File

@@ -84,21 +84,21 @@
}%
\gplgaddtomacro\gplfronttext{%
\csname LTb\endcsname%
\put(750,970){\makebox(0,0)[r]{\strut{}path 1}}%
\put(750,970){\makebox(0,0)[r]{\strut{}\footnotesize{path 1}}}%
\csname LTb\endcsname%
\put(750,750){\makebox(0,0)[r]{\strut{}path 2}}%
\put(750,750){\makebox(0,0)[r]{\strut{}\footnotesize{path 2}}}%
\csname LTb\endcsname%
\put(750,530){\makebox(0,0)[r]{\strut{}path 3}}%
\put(750,530){\makebox(0,0)[r]{\strut{}\footnotesize{path 3}}}%
\csname LTb\endcsname%
\put(750,310){\makebox(0,0)[r]{\strut{}path 4}}%
\put(750,310){\makebox(0,0)[r]{\strut{}\footnotesize{path 4}}}%
\csname LTb\endcsname%
\put(750,970){\makebox(0,0)[r]{\strut{}path 1}}%
\put(750,970){\makebox(0,0)[r]{\strut{}\footnotesize{path 1}}}%
\csname LTb\endcsname%
\put(750,750){\makebox(0,0)[r]{\strut{}path 2}}%
\put(750,750){\makebox(0,0)[r]{\strut{}\footnotesize{path 2}}}%
\csname LTb\endcsname%
\put(750,530){\makebox(0,0)[r]{\strut{}path 3}}%
\put(750,530){\makebox(0,0)[r]{\strut{}\footnotesize{path 3}}}%
\csname LTb\endcsname%
\put(750,310){\makebox(0,0)[r]{\strut{}path 4}}%
\put(750,310){\makebox(0,0)[r]{\strut{}\footnotesize{path 4}}}%
}%
\gplbacktext
\put(0,0){\includegraphics{paths}}%

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,112 @@
% GNUPLOT: LaTeX picture with Postscript
\begingroup
\makeatletter
\providecommand\color[2][]{%
\GenericError{(gnuplot) \space\space\space\@spaces}{%
Package color not loaded in conjunction with
terminal option `colourtext'%
}{See the gnuplot documentation for explanation.%
}{Either use 'blacktext' in gnuplot or load the package
color.sty in LaTeX.}%
\renewcommand\color[2][]{}%
}%
\providecommand\includegraphics[2][]{%
\GenericError{(gnuplot) \space\space\space\@spaces}{%
Package graphicx or graphics not loaded%
}{See the gnuplot documentation for explanation.%
}{The gnuplot epslatex terminal needs graphicx.sty or graphics.sty.}%
\renewcommand\includegraphics[2][]{}%
}%
\providecommand\rotatebox[2]{#2}%
\@ifundefined{ifGPcolor}{%
\newif\ifGPcolor
\GPcolorfalse
}{}%
\@ifundefined{ifGPblacktext}{%
\newif\ifGPblacktext
\GPblacktexttrue
}{}%
% define a \g@addto@macro without @ in the name:
\let\gplgaddtomacro\g@addto@macro
% define empty templates for all commands taking text:
\gdef\gplbacktext{}%
\gdef\gplfronttext{}%
\makeatother
\ifGPblacktext
% no textcolor at all
\def\colorrgb#1{}%
\def\colorgray#1{}%
\else
% gray or color?
\ifGPcolor
\def\colorrgb#1{\color[rgb]{#1}}%
\def\colorgray#1{\color[gray]{#1}}%
\expandafter\def\csname LTw\endcsname{\color{white}}%
\expandafter\def\csname LTb\endcsname{\color{black}}%
\expandafter\def\csname LTa\endcsname{\color{black}}%
\expandafter\def\csname LT0\endcsname{\color[rgb]{1,0,0}}%
\expandafter\def\csname LT1\endcsname{\color[rgb]{0,1,0}}%
\expandafter\def\csname LT2\endcsname{\color[rgb]{0,0,1}}%
\expandafter\def\csname LT3\endcsname{\color[rgb]{1,0,1}}%
\expandafter\def\csname LT4\endcsname{\color[rgb]{0,1,1}}%
\expandafter\def\csname LT5\endcsname{\color[rgb]{1,1,0}}%
\expandafter\def\csname LT6\endcsname{\color[rgb]{0,0,0}}%
\expandafter\def\csname LT7\endcsname{\color[rgb]{1,0.3,0}}%
\expandafter\def\csname LT8\endcsname{\color[rgb]{0.5,0.5,0.5}}%
\else
% gray
\def\colorrgb#1{\color{black}}%
\def\colorgray#1{\color[gray]{#1}}%
\expandafter\def\csname LTw\endcsname{\color{white}}%
\expandafter\def\csname LTb\endcsname{\color{black}}%
\expandafter\def\csname LTa\endcsname{\color{black}}%
\expandafter\def\csname LT0\endcsname{\color{black}}%
\expandafter\def\csname LT1\endcsname{\color{black}}%
\expandafter\def\csname LT2\endcsname{\color{black}}%
\expandafter\def\csname LT3\endcsname{\color{black}}%
\expandafter\def\csname LT4\endcsname{\color{black}}%
\expandafter\def\csname LT5\endcsname{\color{black}}%
\expandafter\def\csname LT6\endcsname{\color{black}}%
\expandafter\def\csname LT7\endcsname{\color{black}}%
\expandafter\def\csname LT8\endcsname{\color{black}}%
\fi
\fi
\setlength{\unitlength}{0.0500bp}%
\ifx\gptboxheight\undefined%
\newlength{\gptboxheight}%
\newlength{\gptboxwidth}%
\newsavebox{\gptboxtext}%
\fi%
\setlength{\fboxrule}{0.5pt}%
\setlength{\fboxsep}{1pt}%
\begin{picture}(5040.00,1872.00)%
\gplgaddtomacro\gplbacktext{%
\csname LTb\endcsname%
\put(-132,103){\makebox(0,0)[r]{\strut{} }}%
\put(-132,499){\makebox(0,0)[r]{\strut{} }}%
\put(-132,896){\makebox(0,0)[r]{\strut{} }}%
\put(-132,1292){\makebox(0,0)[r]{\strut{} }}%
\put(-132,1689){\makebox(0,0)[r]{\strut{} }}%
\put(0,-117){\makebox(0,0){\strut{} }}%
\put(793,-117){\makebox(0,0){\strut{} }}%
\put(1586,-117){\makebox(0,0){\strut{} }}%
\put(2379,-117){\makebox(0,0){\strut{} }}%
\put(3172,-117){\makebox(0,0){\strut{} }}%
\put(3965,-117){\makebox(0,0){\strut{} }}%
}%
\gplgaddtomacro\gplfronttext{%
\csname LTb\endcsname%
\put(4580,103){\makebox(0,0)[l]{\strut{}\footnotesize{0}}}%
\put(4580,340){\makebox(0,0)[l]{\strut{}\footnotesize{1000}}}%
\put(4580,578){\makebox(0,0)[l]{\strut{}\footnotesize{2000}}}%
\put(4580,816){\makebox(0,0)[l]{\strut{}\footnotesize{3000}}}%
\put(4580,1054){\makebox(0,0)[l]{\strut{}\footnotesize{4000}}}%
\put(4580,1292){\makebox(0,0)[l]{\strut{}\footnotesize{5000}}}%
\put(4580,1530){\makebox(0,0)[l]{\strut{}\footnotesize{6000}}}%
\put(4580,1768){\makebox(0,0)[l]{\strut{}\footnotesize{7000}}}%
}%
\gplbacktext
\put(0,0){\includegraphics{floorplan_dijkstra_heatmap}}%
\gplfronttext
\end{picture}%
\endgroup

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,109 @@
% GNUPLOT: LaTeX picture with Postscript
\begingroup
\makeatletter
\providecommand\color[2][]{%
\GenericError{(gnuplot) \space\space\space\@spaces}{%
Package color not loaded in conjunction with
terminal option `colourtext'%
}{See the gnuplot documentation for explanation.%
}{Either use 'blacktext' in gnuplot or load the package
color.sty in LaTeX.}%
\renewcommand\color[2][]{}%
}%
\providecommand\includegraphics[2][]{%
\GenericError{(gnuplot) \space\space\space\@spaces}{%
Package graphicx or graphics not loaded%
}{See the gnuplot documentation for explanation.%
}{The gnuplot epslatex terminal needs graphicx.sty or graphics.sty.}%
\renewcommand\includegraphics[2][]{}%
}%
\providecommand\rotatebox[2]{#2}%
\@ifundefined{ifGPcolor}{%
\newif\ifGPcolor
\GPcolortrue
}{}%
\@ifundefined{ifGPblacktext}{%
\newif\ifGPblacktext
\GPblacktexttrue
}{}%
% define a \g@addto@macro without @ in the name:
\let\gplgaddtomacro\g@addto@macro
% define empty templates for all commands taking text:
\gdef\gplbacktext{}%
\gdef\gplfronttext{}%
\makeatother
\ifGPblacktext
% no textcolor at all
\def\colorrgb#1{}%
\def\colorgray#1{}%
\else
% gray or color?
\ifGPcolor
\def\colorrgb#1{\color[rgb]{#1}}%
\def\colorgray#1{\color[gray]{#1}}%
\expandafter\def\csname LTw\endcsname{\color{white}}%
\expandafter\def\csname LTb\endcsname{\color{black}}%
\expandafter\def\csname LTa\endcsname{\color{black}}%
\expandafter\def\csname LT0\endcsname{\color[rgb]{1,0,0}}%
\expandafter\def\csname LT1\endcsname{\color[rgb]{0,1,0}}%
\expandafter\def\csname LT2\endcsname{\color[rgb]{0,0,1}}%
\expandafter\def\csname LT3\endcsname{\color[rgb]{1,0,1}}%
\expandafter\def\csname LT4\endcsname{\color[rgb]{0,1,1}}%
\expandafter\def\csname LT5\endcsname{\color[rgb]{1,1,0}}%
\expandafter\def\csname LT6\endcsname{\color[rgb]{0,0,0}}%
\expandafter\def\csname LT7\endcsname{\color[rgb]{1,0.3,0}}%
\expandafter\def\csname LT8\endcsname{\color[rgb]{0.5,0.5,0.5}}%
\else
% gray
\def\colorrgb#1{\color{black}}%
\def\colorgray#1{\color[gray]{#1}}%
\expandafter\def\csname LTw\endcsname{\color{white}}%
\expandafter\def\csname LTb\endcsname{\color{black}}%
\expandafter\def\csname LTa\endcsname{\color{black}}%
\expandafter\def\csname LT0\endcsname{\color{black}}%
\expandafter\def\csname LT1\endcsname{\color{black}}%
\expandafter\def\csname LT2\endcsname{\color{black}}%
\expandafter\def\csname LT3\endcsname{\color{black}}%
\expandafter\def\csname LT4\endcsname{\color{black}}%
\expandafter\def\csname LT5\endcsname{\color{black}}%
\expandafter\def\csname LT6\endcsname{\color{black}}%
\expandafter\def\csname LT7\endcsname{\color{black}}%
\expandafter\def\csname LT8\endcsname{\color{black}}%
\fi
\fi
\setlength{\unitlength}{0.0500bp}%
\ifx\gptboxheight\undefined%
\newlength{\gptboxheight}%
\newlength{\gptboxwidth}%
\newsavebox{\gptboxtext}%
\fi%
\setlength{\fboxrule}{0.5pt}%
\setlength{\fboxsep}{1pt}%
\begin{picture}(5182.00,1872.00)%
\gplgaddtomacro\gplbacktext{%
\csname LTb\endcsname%
\put(-132,57){\makebox(0,0)[r]{\strut{} }}%
\put(-132,475){\makebox(0,0)[r]{\strut{} }}%
\put(-132,894){\makebox(0,0)[r]{\strut{} }}%
\put(-132,1312){\makebox(0,0)[r]{\strut{} }}%
\put(-132,1730){\makebox(0,0)[r]{\strut{} }}%
\put(0,-163){\makebox(0,0){\strut{} }}%
\put(836,-163){\makebox(0,0){\strut{} }}%
\put(1673,-163){\makebox(0,0){\strut{} }}%
\put(2509,-163){\makebox(0,0){\strut{} }}%
\put(3346,-163){\makebox(0,0){\strut{} }}%
\put(4182,-163){\makebox(0,0){\strut{} }}%
}%
\gplgaddtomacro\gplfronttext{%
\csname LTb\endcsname%
\put(4718,290){\makebox(0,0)[l]{\strut{}\footnotesize{0.4}}}%
\put(4718,632){\makebox(0,0)[l]{\strut{}\footnotesize{0.6}}}%
\put(4718,974){\makebox(0,0)[l]{\strut{}\footnotesize{0.8}}}%
\put(4718,1316){\makebox(0,0)[l]{\strut{}\footnotesize{1.0}}}%
\put(4718,1658){\makebox(0,0)[l]{\strut{}\footnotesize{1.2}}}%
}%
\gplbacktext
\put(0,0){\includegraphics{floorplan_importance}}%
\gplfronttext
\end{picture}%
\endgroup

View File

@@ -47,7 +47,9 @@
\newcommand{\fDD}[1]{\text{dd}(#1)}
\newcommand{\fImp}[1]{\text{imp}(#1)}
\newcommand{\fNN}[2]{\text{nn}(#1, #2)}
\newcommand{\fLength}[2]{\text{length}(#1, #2)}
\newcommand{\fLength}[2]{\text{d}(#1, #2)}
\newcommand{\mTarget}{\dot{v}}
%\newcommand{\docIBeacon}{iBeacon}