diff --git a/img/propagation-illustration.pdf b/img/propagation-illustration.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f4c65f0beffcc97f8c851ecf5f1ae702e753cc72 Binary files /dev/null and b/img/propagation-illustration.pdf differ diff --git a/img/propagation-illustration.pdf_tex b/img/propagation-illustration.pdf_tex new file mode 100644 index 0000000000000000000000000000000000000000..abed6c1b385a22f0ac588c13c92152243a9db038 --- /dev/null +++ b/img/propagation-illustration.pdf_tex @@ -0,0 +1,58 @@ +%% Creator: Inkscape inkscape 0.92.5, www.inkscape.org +%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010 +%% Accompanies image file 'propagation-illustration.pdf' (pdf, eps, ps) +%% +%% To include the image in your LaTeX document, write +%% \input{<filename>.pdf_tex} +%% instead of +%% \includegraphics{<filename>.pdf} +%% To scale the image, write +%% \def\svgwidth{<desired width>} +%% \input{<filename>.pdf_tex} +%% instead of +%% \includegraphics[width=<desired width>]{<filename>.pdf} +%% +%% Images with a different path to the parent latex file can +%% be accessed with the `import' package (which may need to be +%% installed) using +%% \usepackage{import} +%% in the preamble, and then including the image with +%% \import{<path to file>}{<filename>.pdf_tex} +%% Alternatively, one can specify +%% \graphicspath{{<path to file>/}} +%% +%% For more information, please see info/svg-inkscape on CTAN: +%% http://tug.ctan.org/tex-archive/info/svg-inkscape +%% +\begingroup% + \makeatletter% + \providecommand\color[2][]{% + \errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}% + \renewcommand\color[2][]{}% + }% + \providecommand\transparent[1]{% + \errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}% + \renewcommand\transparent[1]{}% + }% + \providecommand\rotatebox[2]{#2}% + \newcommand*\fsize{\dimexpr\f@size pt\relax}% + \newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}% + \ifx\svgwidth\undefined% + \setlength{\unitlength}{449.77171326bp}% + \ifx\svgscale\undefined% + \relax% + \else% + \setlength{\unitlength}{\unitlength * \real{\svgscale}}% + \fi% + \else% + \setlength{\unitlength}{\svgwidth}% + \fi% + \global\let\svgwidth\undefined% + \global\let\svgscale\undefined% + \makeatother% + \begin{picture}(1,0.56280779)% + \lineheight{1}% + \setlength\tabcolsep{0pt}% + \put(0,0){\includegraphics[width=\unitlength,page=1]{propagation-illustration.pdf}}% + \end{picture}% +\endgroup% diff --git a/img/tracking-only-boundary.pdf b/img/tracking-only-boundary.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6eac827b29ecaba9a373b4d2ea6500bfc2545572 Binary files /dev/null and b/img/tracking-only-boundary.pdf differ diff --git a/img/tracking-only-boundary.pdf_tex b/img/tracking-only-boundary.pdf_tex new file mode 100644 index 0000000000000000000000000000000000000000..e4ad5bc20ca0702e4e41b848d40c16ed341106c8 --- /dev/null +++ b/img/tracking-only-boundary.pdf_tex @@ -0,0 +1,68 @@ +%% Creator: Inkscape inkscape 0.92.5, www.inkscape.org +%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010 +%% Accompanies image file 'tracking-only-boundary.pdf' (pdf, eps, ps) +%% +%% To include the image in your LaTeX document, write +%% \input{<filename>.pdf_tex} +%% instead of +%% \includegraphics{<filename>.pdf} +%% To scale the image, write +%% \def\svgwidth{<desired width>} +%% \input{<filename>.pdf_tex} +%% instead of +%% \includegraphics[width=<desired width>]{<filename>.pdf} +%% +%% Images with a different path to the parent latex file can +%% be accessed with the `import' package (which may need to be +%% installed) using +%% \usepackage{import} +%% in the preamble, and then including the image with +%% \import{<path to file>}{<filename>.pdf_tex} +%% Alternatively, one can specify +%% \graphicspath{{<path to file>/}} +%% +%% For more information, please see info/svg-inkscape on CTAN: +%% http://tug.ctan.org/tex-archive/info/svg-inkscape +%% +\begingroup% + \makeatletter% + \providecommand\color[2][]{% + \errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}% + \renewcommand\color[2][]{}% + }% + \providecommand\transparent[1]{% + \errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}% + \renewcommand\transparent[1]{}% + }% + \providecommand\rotatebox[2]{#2}% + \newcommand*\fsize{\dimexpr\f@size pt\relax}% + \newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}% + \ifx\svgwidth\undefined% + \setlength{\unitlength}{174.93417815bp}% + \ifx\svgscale\undefined% + \relax% + \else% + \setlength{\unitlength}{\unitlength * \real{\svgscale}}% + \fi% + \else% + \setlength{\unitlength}{\svgwidth}% + \fi% + \global\let\svgwidth\undefined% + \global\let\svgscale\undefined% + \makeatother% + \begin{picture}(1,0.76128772)% + \lineheight{1}% + \setlength\tabcolsep{0pt}% + \put(0,0){\includegraphics[width=\unitlength,page=1]{tracking-only-boundary.pdf}}% + \put(0.36430867,0.24316901){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}$\bm{x_0}$\end{tabular}}}}% + \put(0,0){\includegraphics[width=\unitlength,page=2]{tracking-only-boundary.pdf}}% + \put(0.31062874,0.14663122){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}$\bm{\omega_0}$\end{tabular}}}}% + \put(0.09473465,0.60598765){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}$\bm{\omega_1}$\end{tabular}}}}% + \put(0.36268891,0.55545841){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}$\bm{x_1}$\end{tabular}}}}% + \put(0.64672448,0.35181035){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}$\bm{x_2}$\end{tabular}}}}% + \put(0.49148933,0.50494247){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}$t_1$\end{tabular}}}}% + \put(0.35479778,0.35850569){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}$t_0$\end{tabular}}}}% + \put(0,0){\includegraphics[width=\unitlength,page=3]{tracking-only-boundary.pdf}}% + \put(0.46875119,0.40223061){\color[rgb]{0,0,0}\transparent{0.94}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}$\bm{x_d}$\end{tabular}}}}% + \end{picture}% +\endgroup% diff --git a/img/tracking.pdf b/img/tracking.pdf index 13de651eaba5b84b334cc14f87b107de313fdd09..9d18262780846a2f95a0ec8c2faecbe09e6b3b92 100644 Binary files a/img/tracking.pdf and b/img/tracking.pdf differ diff --git a/img/tracking.pdf_tex b/img/tracking.pdf_tex index 81332760ca2601a9e28d347dc863f8b030eacb4e..87e43c718634661f813febdf8d29ae1644d76ebb 100644 --- a/img/tracking.pdf_tex +++ b/img/tracking.pdf_tex @@ -59,7 +59,7 @@ \put(0.20344574,0.06568419){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}$\bm{\omega_0}$\end{tabular}}}}% \put(0.09908508,0.28773184){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}$\bm{\omega_1}$\end{tabular}}}}% \put(0.22861112,0.26330659){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}$\bm{x_1}$\end{tabular}}}}% - \put(0.33834962,0.16625601){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}$\bm{x_2}$\end{tabular}}}}% + \put(0.32631207,0.16782611){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}$\bm{x_2}$\end{tabular}}}}% \put(0,0){\includegraphics[width=\unitlength,page=3]{tracking.pdf}}% \put(0.29744591,0.23221995){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}$t_1$\end{tabular}}}}% \put(0.23474059,0.18484979){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}$t_0$\end{tabular}}}}% diff --git a/img/tracking.svg b/img/tracking.svg index 7b4b70db20d245b55111d849c274c4d74ac5ff28..8c82c290334e312de201fcde868d2822a294df39 100644 --- a/img/tracking.svg +++ b/img/tracking.svg @@ -9,9 +9,9 @@ xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="210mm" - height="297mm" - viewBox="0 0 210 297" + width="127.66727mm" + height="48.680305mm" + viewBox="0 0 127.66727 48.680305" version="1.1" id="svg6879" inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" @@ -21,44 +21,47 @@ <marker inkscape:stockid="DotM" orient="auto" - refY="0.0" - refX="0.0" + refY="0" + refX="0" id="DotM" style="overflow:visible" inkscape:isstock="true"> <path id="path1464" - d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z " - style="fill-rule:evenodd;stroke:#00000f;stroke-width:1pt;stroke-opacity:1;fill:#00000f;fill-opacity:1" - transform="scale(0.4) translate(7.4, 1)" /> + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + style="fill:#00000f;fill-opacity:1;fill-rule:evenodd;stroke:#00000f;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,2.96,0.4)" + inkscape:connector-curvature="0" /> </marker> <marker inkscape:stockid="DotL" orient="auto" - refY="0.0" - refX="0.0" + refY="0" + refX="0" id="DotL" style="overflow:visible" inkscape:isstock="true"> <path id="path1461" - d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z " - style="fill-rule:evenodd;stroke:#00000f;stroke-width:1pt;stroke-opacity:1;fill:#00000f;fill-opacity:1" - transform="scale(0.8) translate(7.4, 1)" /> + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + style="fill:#00000f;fill-opacity:1;fill-rule:evenodd;stroke:#00000f;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.8,0,0,0.8,5.92,0.8)" + inkscape:connector-curvature="0" /> </marker> <marker inkscape:stockid="DotS" orient="auto" - refY="0.0" - refX="0.0" + refY="0" + refX="0" id="DotS" style="overflow:visible" inkscape:isstock="true"> <path id="path1467" - d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z " - style="fill-rule:evenodd;stroke:#00000f;stroke-width:1pt;stroke-opacity:1;fill:#00000f;fill-opacity:1" - transform="scale(0.2) translate(7.4, 1)" /> + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + style="fill:#00000f;fill-opacity:1;fill-rule:evenodd;stroke:#00000f;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.2,0,0,0.2,1.48,0.2)" + inkscape:connector-curvature="0" /> </marker> <marker inkscape:stockid="Arrow2Sstart" @@ -343,16 +346,20 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="2.8" - inkscape:cx="361.60415" - inkscape:cy="893.88025" + inkscape:cx="236.30622" + inkscape:cy="71.046369" inkscape:document-units="mm" inkscape:current-layer="layer1" showgrid="false" inkscape:window-width="1916" - inkscape:window-height="1040" + inkscape:window-height="1020" inkscape:window-x="0" inkscape:window-y="38" - inkscape:window-maximized="0" /> + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> <metadata id="metadata6876"> <rdf:RDF> @@ -369,7 +376,8 @@ inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" - style="opacity:0.93999999"> + style="opacity:0.93999999" + transform="translate(-15.259117,-30.096216)"> <path style="fill:#0000d4;fill-opacity:0.1294643;stroke:none;stroke-width:0.23877864px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.12941176" d="m 21.794227,41.786803 c 0,0 0.82159,-10.47526 11.296852,-6.778113 0,0 6.778111,-9.859066 14.377813,-1.643172 0,0 10.886056,-5.751126 13.967017,5.134929 0,0 13.556224,-3.69715 9.037483,9.037484 0,0 12.73462,3.902554 2.25937,14.377808 0,0 10.064458,7.805105 -0.821591,9.859075 0,0 -3.080963,9.859078 -10.064467,2.464772 0,0 -5.751124,6.778117 -12.118441,-0.616197 0,0 -14.377812,7.599706 -16.431787,-4.518742 0,0 -15.199401,3.491757 -11.707647,-10.475263 0,0 -14.3778113,-8.421286 0.205398,-16.842581" @@ -421,7 +429,7 @@ id="tspan1760-5-8" x="41.232479" y="70.3908" - style="font-size:2.11666656px;fill:#000000;fill-opacity:1;stroke-width:0.26458332">$\bm{omega_0}$</tspan></text> + style="font-size:2.11666656px;fill:#000000;fill-opacity:1;stroke-width:0.26458332">$\bm{\omega_0}$</tspan></text> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" @@ -432,7 +440,7 @@ id="tspan1760-5-8-4" x="27.909039" y="42.042583" - style="font-size:2.11666656px;fill:#000000;fill-opacity:1;stroke-width:0.26458332">$\bm{omega_1}$</tspan></text> + style="font-size:2.11666656px;fill:#000000;fill-opacity:1;stroke-width:0.26458332">$\bm{\omega_1}$</tspan></text> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" @@ -552,197 +560,129 @@ inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccc" /> <rect - style="fill:#b7345d;fill-opacity:1;stroke:none;stroke-width:0.84220421;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.12941176" + style="fill:#da0049;fill-opacity:1;stroke:none;stroke-width:1.00442564;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.12941176" id="rect14077" - width="13.357238" - height="16.661409" - x="123.43967" - y="47.454647" /> + width="16.475542" + height="19.212749" + x="114.93519" + y="43.95837" /> <path style="fill:none;stroke:#00000f;stroke-width:0.76499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-5);marker-end:url(#DotM-5)" - d="m 107.71349,61.67392 3.98578,-12.496535" + d="M 100.90992,59.311569 104.8957,46.815034" id="path1398-2-8-87" inkscape:connector-curvature="0" sodipodi:nodetypes="cc" /> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - x="110.49962" - y="66.13221" + x="103.69604" + y="63.769859" id="text1762-4-1"><tspan sodipodi:role="line" id="tspan1760-5-7" - x="110.49962" - y="66.13221" + x="103.69604" + y="63.769859" style="font-size:2.11666656px;fill:#000000;fill-opacity:1;stroke-width:0.26458332">$\bm{x_0}$</tspan></text> <path style="fill:none;stroke:#00000f;stroke-width:0.76499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Send-5-2-4)" - d="M 111.69927,49.177385 100.2505,45.334842" + d="M 104.8957,46.815034 93.446929,42.972491" id="path1398-2-8-4-2" inkscape:connector-curvature="0" sodipodi:nodetypes="cc" /> <path style="fill:none;stroke:#00000f;stroke-width:0.76499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Send-5-7-6)" - d="m 107.71349,61.67392 -2.94877,8.784722" + d="m 100.90992,59.311569 -2.948771,8.784722" id="path1398-2-8-43-7" inkscape:connector-curvature="0" sodipodi:nodetypes="cc" /> <path style="fill:none;stroke:#00000f;stroke-width:0.76499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-0-9);marker-end:url(#DotM-0-9)" - d="m 129.17168,54.886905 -17.47241,-5.70952" + d="M 122.36811,52.524554 104.8957,46.815034" id="path1398-2-8-8-2" inkscape:connector-curvature="0" sodipodi:nodetypes="cc" /> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - x="107.18686" - y="72.089836" + x="100.38329" + y="69.727486" id="text1762-4-6-2"><tspan sodipodi:role="line" id="tspan1760-5-8-6" - x="107.18686" - y="72.089836" - style="font-size:2.11666656px;fill:#000000;fill-opacity:1;stroke-width:0.26458332">$\bm{omega_0}$</tspan></text> + x="100.38329" + y="69.727486" + style="font-size:2.11666656px;fill:#000000;fill-opacity:1;stroke-width:0.26458332">$\bm{\omega_0}$</tspan></text> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - x="93.863419" - y="43.741623" + x="87.059845" + y="41.379272" id="text1762-4-6-8-1"><tspan sodipodi:role="line" id="tspan1760-5-8-4-0" - x="93.863419" - y="43.741623" - style="font-size:2.11666656px;fill:#000000;fill-opacity:1;stroke-width:0.26458332">$\bm{omega_1}$</tspan></text> + x="87.059845" + y="41.379272" + style="font-size:2.11666656px;fill:#000000;fill-opacity:1;stroke-width:0.26458332">$\bm{\omega_1}$</tspan></text> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - x="110.39965" - y="46.859928" + x="103.59608" + y="44.497578" id="text1762-4-3-6"><tspan sodipodi:role="line" id="tspan1760-5-1-1" - x="110.39965" - y="46.859928" + x="103.59608" + y="44.497578" style="font-size:2.11666656px;fill:#000000;fill-opacity:1;stroke-width:0.26458332">$\bm{x_1}$</tspan></text> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - x="122.87286" - y="59.049664" + x="121.12473" + y="57.065289" id="text1762-4-3-4-5"><tspan sodipodi:role="line" id="tspan1760-5-1-9-9" - x="122.87286" - y="59.049664" + x="121.12473" + y="57.065289" style="font-size:2.11666656px;fill:#000000;fill-opacity:1;stroke-width:0.26458332">$\bm{x_2}$</tspan></text> - <circle - style="fill:#ed7a00;fill-opacity:1;stroke:none;stroke-width:0.41573173;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.45490196" - id="path1316-4" - r="1.6726303" - cy="55.233517" - cx="131.25185" /> - <path - style="fill:#ed7a00;fill-opacity:1;stroke:none;stroke-width:0.07856835px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="m 130.91732,53.094941 h 0.77658 l -0.38232,-1.660683 z" - id="path1318-9" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cccc" /> - <path - style="fill:#ed7a00;fill-opacity:1;stroke:none;stroke-width:0.07856835px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="m 132.4279,53.354564 0.54431,0.553895 0.91652,-1.436675 z" - id="path1318-3-0" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cccc" - inkscape:transform-center-x="1.8344947" - inkscape:transform-center-y="0.035617067" /> - <path - style="fill:#ed7a00;fill-opacity:1;stroke:none;stroke-width:0.07856835px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="m 133.37341,54.742445 -0.072,0.773236 1.68897,-0.226754 z" - id="path1318-3-6-9" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cccc" - inkscape:transform-center-x="0.54718079" - inkscape:transform-center-y="-1.625427" /> - <path - style="fill:#ed7a00;fill-opacity:1;stroke:none;stroke-width:0.07856835px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="m 133.20811,56.437933 -0.55553,0.542633 1.43389,0.920857 z" - id="path1318-3-6-7-1" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cccc" - inkscape:transform-center-x="0.033177731" - inkscape:transform-center-y="-1.8314263" /> - <path - style="fill:#ed7a00;fill-opacity:1;stroke:none;stroke-width:0.07856835px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="m 131.73208,57.052519 -0.77438,0.05845 0.50622,1.6272 z" - id="path1318-3-6-7-5-7" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cccc" - inkscape:transform-center-x="-0.99952959" - inkscape:transform-center-y="-0.74910107" /> - <path - style="fill:#ed7a00;fill-opacity:1;stroke:none;stroke-width:0.07856835px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="m 129.82457,56.958168 -0.56514,-0.532625 -0.86077,1.47075 z" - id="path1318-3-6-7-3-7" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cccc" - inkscape:transform-center-x="-2.0100032" - inkscape:transform-center-y="-6.4624076" /> - <path - style="fill:#ed7a00;fill-opacity:1;stroke:none;stroke-width:0.07856835px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="m 129.11713,55.661565 0.0546,-0.77466 -1.68344,0.264726 z" - id="path1318-3-6-7-56-1" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cccc" - inkscape:transform-center-x="-2.7595367" - inkscape:transform-center-y="4.0320007" /> - <path - style="fill:#ed7a00;fill-opacity:1;stroke:none;stroke-width:0.07856835px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="m 129.27143,53.986296 0.57755,-0.519141 -1.39449,-0.979497 z" - id="path1318-3-6-7-2-1" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cccc" - inkscape:transform-center-x="7.8004279" - inkscape:transform-center-y="1.8240331" /> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - x="112.77313" - y="53.568188" + x="111.54472" + y="47.615063" id="text1762-4-3-2-5"><tspan sodipodi:role="line" id="tspan1760-5-1-0-9" - x="112.77313" - y="53.568188" + x="111.54472" + y="47.615063" style="font-size:2.11666656px;fill:#000000;fill-opacity:1;stroke-width:0.26458332">$t_1$</tspan></text> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - x="109.91266" - y="59.01445" + x="103.10909" + y="56.6521" id="text1762-4-3-2-6-7"><tspan sodipodi:role="line" id="tspan1760-5-1-0-8-7" - x="109.91266" - y="59.01445" + x="103.10909" + y="56.6521" style="font-size:2.11666656px;fill:#000000;fill-opacity:1;stroke-width:0.26458332">$t_0$</tspan></text> <path - style="opacity:0.93999999;fill:none;stroke:#00000f;stroke-width:0.76499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-0-9-6);marker-end:url(#DotM-0-9-6)" - d="M 123.36575,52.754577 111.69927,49.177385" + style="opacity:0.93999999;fill:none;stroke:#00000f;stroke-width:0.61220014;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-0-9-6);marker-end:url(#DotM-0-9-6)" + d="M 115.40328,50.267681 104.55605,46.470302" id="path1398-2-8-8-2-3" inkscape:connector-curvature="0" sodipodi:nodetypes="cc" /> <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;opacity:0.93999999;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - x="114.1575" - y="56.410553" + x="110.14149" + y="53.953709" id="text1762-4-3-6-6"><tspan sodipodi:role="line" id="tspan1760-5-1-1-5" - x="114.1575" - y="56.410553" + x="110.14149" + y="53.953709" style="font-size:2.11666656px;fill:#000000;fill-opacity:1;stroke-width:0.26458332">$\bm{x_d}$</tspan></text> </g> </svg> diff --git a/main.tex b/main.tex index 580a1cd27439db9d1ce3feb793f059f010da858d..7afde70f0d93216584303de91a71fc77b1379148 100644 --- a/main.tex +++ b/main.tex @@ -42,9 +42,9 @@ \newcommand\todoi[1]{\textit{\textcolor{blue}{TODO: #1}}} \newcommand\tcb[1]{\textit{\textcolor{blue}{#1}}} -\newcommand\bx[0]{\textbf{x}} -\newcommand\by[0]{\textbf{y}} -\newcommand\bomega[0]{\boldsymbol{\omega}} +\newcommand\bx[0]{\bm{x}} +\newcommand\by[0]{\bm{y}} +\newcommand\bomega[0]{\bm{\omega}} \usepackage{mathtools} @@ -128,12 +128,11 @@ \end{frame} \begin{frame}{Propagation of light in a medium} - \begin{figure}[ht] - \centering - \def\svgwidth{\columnwidth} - \includegraphics[width=10cm]{img/propagation-illustration.png} - % \label{fig:propagation-illustration} - \end{figure} + \begin{figure}[ht] + \centering + \def\svgwidth{0.7\columnwidth} + \import{./img/}{propagation-illustration.pdf_tex} + \end{figure} \end{frame} \begin{frame}{Change of radiance in a differential volume} @@ -170,10 +169,14 @@ We lose $\sigma_t(\bx)L(\bx, \bomega)$ radiance \\ due to \textit{absorption} and \textit{out-scattering}. - \end{columns} -\vspace{3mm} - +\vfill +\begin{columns}[t, onlytextwidth] + \column{.49\textwidth} + $\sigma_t\implies$Homogeneous + \column{.49\textwidth} + $\sigma_t(\bx)\implies$Heterogeneous +\end{columns} \end{frame} @@ -400,18 +403,113 @@ $$ T(t) = e^{-\tau(t)} = e^{-\int_0^t \sigma_t(\bx-s\bomega)ds} $$ \end{itemize} \end{frame} -\begin{frame}{In homogeneous volumes} - $$T(t) = e^{-\int_0^t \sigma_t(\bx-s\bomega)ds} = e^{-\int_0^t \sigma_t ds} - = e^{-\sigma_t t}$$ -\end{frame} +\begin{frame}{Tracking}{In homogeneous volumes} + \begin{itemize} + \item Simulate how a photon bounces around inside a volume + \item Explicitly modeling absorption and scattering effects + \end{itemize} +\begin{align} + T(t) = e^{-\int_0^t \sigma_t(\bx-s\bomega)ds} = e^{-\int_0^t \sigma_t ds} + \Aboxed{= e^{-\sigma_t t} = T(t)} +\end{align} + +PDF $p(t) = \sigma_t e^{-\sigma_t t}$ (by normalizing) + +Perfectly importance sample with $t' = -ln(1-\zeta)/\sigma_t$ +\hfill $\zeta \in [0,1)$ +\begin{equation} + L(\bm{x}, \bm{\omega}) = \int_{t=0}^{d} p(t) + \Big[ \frac{\sigma_a}{\sigma_t} L_e(\bm{x_t}, \omega) + + \frac{\sigma_s}{\sigma_t} L_s(\bm{x_t}, \bomega) + \Big]dt + L_d(\bm{x_d}, \bm{\omega}) +\end{equation} -\begin{frame}{Regular Tracking}{In homogeneous volumes} +\begin{equation} + \sigma_a + \sigma_s = 1; + P_a = \frac{\sigma_a}{\sigma_t}; P_s = \frac{\sigma_a}{\sigma_t} +\end{equation} + +\end{frame} + +\begin{frame}{Closed-Form tracking}{In homogeneous volumes} \begin{figure}[ht] \centering - \def\svgwidth{\columnwidth} + \def\svgwidth{0.7\columnwidth} \import{./img/}{tracking.pdf_tex} \end{figure} + +\begin{equation} + L(\bm{x}, \bm{\omega}) = \int_{t=0}^{d} p(t) + \Big[ P_a L_e(\bm{x_t}, \omega) + + P_s L_s(\bm{x_t}, \bomega) + \Big]dt + L_d(\bm{x_d}, \bm{\omega}) +\end{equation} +\end{frame} + +\begin{frame}{Regular tracking}{In heterogeneous volumes} + What happens if the volume is \textbf{not homogeneous}? + \hspace{5.4em}$\implies$$\sigma_t(\bm{x})$ + + $\implies$ apply closed-form tracking to homogeneous sub-parts + \hspace{2em}$\implies$$\sigma_t$ + +\begin{figure}[ht] + \centering + \def\svgwidth{0.3\columnwidth} + \import{./img/}{tracking-only-boundary.pdf_tex} +\end{figure} + +\begin{equation} + L(\bm{x}, \bm{\omega}) = \int_{t=0}^{d} p(t) + \Big[ \frac{\sigma_a}{\sigma_t} L_e(\bm{x_t}, \omega) + + \frac{\sigma_s}{\sigma_t} L_s(\bm{x_t}, \bomega) + \Big]dt + L_d(\bm{x_d}, \bm{\omega}) +\end{equation} +\end{frame} + +\begin{frame}{Delta tracking}{Introducing null-collisions} +\begin{enumerate} + \item Problem: the volume is heterogeneous + \item Idea: \textbf{Increase the number of interactions} to make it + homogeneous,\\ + but \textbf{reject} some of the interactions $\implies$ + \textbf{null-collisions} +\end{enumerate} + +\begin{equation} + L(\bx, \bomega) = \int_0^\infty + T_{\bar\sigma}(\bm{x},\bm{y}) + \Big[ + \underbrace{\mystrut{2ex} + \sigma_s(\by)L_s(\by, \bomega) + }_{\text{in-scatter}} + + + \underbrace{\mystrut{2ex} + \sigma_a(\by)L_e(\by, \bomega) + }_{\text{emission}} + + + \underbrace{\mystrut{2ex} + \sigma_n(\by)L(\by, \bomega) + }_{\text{null-collision}} + \Big] + d\by +\end{equation} + +\vfill +\begin{equation} + T_{\bar\sigma}(\bm{x},\bm{y}) = + e^{-\int_0^y \sigma_s(\bm{s}) + \sigma_a(\bm{s}) + \sigma_n(\bm{s}) d\bm{s}} +\end{equation} + +\begin{equation} + \sigma_n(\bx) = \bar\sigma - \sigma_t(\bx) +\end{equation} + +\begin{equation} + \bar\sigma = \sigma_s(\bm{x}) + \sigma_a(\bm{x}) + \sigma_n(\bm{x}) +\end{equation} + \end{frame} \begin{frame}{Transmittance Estimation}{Ray Marching} @@ -423,6 +521,12 @@ $$ T(t) = e^{-\tau(t)} = e^{-\int_0^t \sigma_t(\bx-s\bomega)ds} $$ \end{frame} \begin{frame}{Acceleration Data Structures} + \begin{itemize} + \item Spatially-varying properties + \item Data access usually dominates the render time \\ + $\implies$ data structures are key for achieving good performance + \item Volume data can quickly grow into hundreds of gigabytes for production + \end{itemize} \end{frame} \maketitle