Restructure chapters, delete a bunch of words, add more words, do some things, panic...
[ipdf/sam.git] / presentation / presentation.tex
diff --git a/presentation/presentation.tex b/presentation/presentation.tex
new file mode 100644 (file)
index 0000000..9ad4c78
--- /dev/null
@@ -0,0 +1,239 @@
+\makeatletter
+\newif\ifGm@compatii
+\makeatother
+\documentclass[12pt,landscape,english]{beamer}
+\mode<presentation>
+
+\usetheme[navmenu]{uwa_eng} % Three options supported: uwa_pagen (default), navmenu, sec_navmenu, and splitfooter
+\usepackage{mathrsfs}
+\usepackage{palatino}
+\usepackage[T1]{fontenc}
+\usepackage[latin1]{inputenc}
+\usepackage{times}
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{multimedia}
+\makeatletter
+
+
+% My personal preferences________________________________
+\definecolor{myframe}{rgb}{0.2,0.2,0.2}  % charcoal frametitle
+\setbeamercolor{frametitle}{fg=myframe}
+\definecolor{mystruc}{rgb}{0,0.25,0.45}  % turquoise
+\usecolortheme[named=mystruc]{structure} % Changing to blueish green instead of default midnight shade 
+\setbeamertemplate{headline}{\vspace{0.25cm}} % I personally find that the defaul position of the frametitle is too high
+\setbeamercolor{title}{fg=black} % I personally don't like the taking the structure color for the title
+
+%_________________________________
+% Titlepage info
+
+\title[short title]{Number Representations and Precision in Vector Graphics}
+\subtitle{Implementation of an Arbitrary Precision SVG Viewer} % if you have one
+\author{Sam Moore}
+% - Give the names in the same order as the appear in the paper.
+% - Use the \inst{?} command only if the authors have different
+%   affiliation.
+
+\institute[UWA]% (optional) {Universities of Western Australia} 
+{Supervisors: Tim French, Rowan Davies}
+
+\date[CSS 2009]{\today} % change the actual date
+ \titlegraphic{\includegraphics[width=3cm]{./Logos/WAMSI.png}}
+
+%% Optional stuff------------------------------------------------------------------
+
+%% Delete this, if you do not want the table of contents to pop up at
+%% the beginning of each Section or Subsection:
+%\AtBeginSubsection[] % I guess you could replace this with AtBeginSection
+  %{\begin{frame}<beamer>{Outline}
+    %\tableofcontents[currentsection,currentsubsection]
+  %\end{frame}}
+ % \AtBeginSection[] % Simplified version of what's above. % Should only be used with uwa_pagen option
+%  {\begin{frame}<beamer>{Outline}
+%    \tableofcontents[currentsection]
+%  \end{frame}}
+
+%-------------------------------------------------------------------------------------------------
+\begin{document}
+
+   {
+   \usebackgroundtemplate{\includegraphics[width=\paperwidth,height=\paperheight]{uwa_eng_title.png}} % Required to get the UWA titlepage background different. 
+   \begin{frame}[plain]
+ \titlepage
+\end{frame}
+}
+
+
+\begin{frame}[plain]
+\frametitle{Contents}
+  \tableofcontents
+  % You might wish to add the option [pausesections]
+\end{frame}
+
+\begin{frame}
+       \frametitle{Summary}
+       \begin{itemize}
+               \item Vector graphics allow scaling but not arbitrary scaling
+               \item We implemented a vector graphics viewer that does allow arbitrary scaling
+               \item ... but it will take an arbitrary amount of time
+       \end{itemize}
+\end{frame}
+
+% Start of presentation slides
+\section{Motivation \& Background}
+\begin{frame}
+\frametitle{Graphics Formats}
+\begin{itemize}
+       \item Document formats (eg: PDF and SVG) are formats for vector graphics
+       \item Vector graphics scale better than raster graphics
+\end{itemize}
+
+\centering
+\includegraphics[width=0.5\textwidth]{../figures/fox-vector.pdf}
+\includegraphics[width=0.5\textwidth]{../figures/fox-raster.png}
+
+\end{frame}
+
+
+\begin{frame} 
+\frametitle{Why is there a zoom limit?} 
+\centering
+\includegraphics{../figures/koch1.pdf}
+\end{frame}
+
+\begin{frame} 
+\frametitle{Why is there a zoom limit?} 
+\begin{itemize}
+       \item SVG, PostScript, PDF specify IEEE-754 \emph{single} floating point number representations
+       \item Range of values: $\approx 3 \times 10^{-38} \to 3 \times 10^{+38}$
+       \item Rough Floating Point Definition\footnote{IEEE-754 is more complicated}:
+       
+       \begin{align}
+               X &= m \times 2^{E}
+       \end{align}
+       \item $m$ and $E$ are encoded in a \emph{fixed length} string of bits
+       \item Floating Point $\approx$ Scientific Notation for computers
+
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Visualisation of Floats}
+\begin{itemize}
+       \item \small{With total length of $m$ and $E$ limited to $7$ bits (1 sign bit)}
+       \item Showing positive numbers only
+\end{itemize}
+\centering
+\includegraphics[width=0.8\textwidth]{../figures/floats.pdf}
+       
+\end{frame}
+
+\begin{frame}
+\frametitle{Floating point calculations \\ go wrong}
+\begin{itemize}
+       \item At scale of only $1\times 10^{-6}$, the fox is very sick
+\end{itemize}
+\centering
+       \includegraphics[width=0.5\textwidth]{../figures/fox-vector_highzoom1.png}
+       \begin{itemize}
+               \item Plank Length: $1.61 \times 10^{-35}$ metres $ > 3\times10^{-38}$
+               \item Size of Universe: $4.3 \times 10^{26}$ metres $ << 3 \times10^{38}$
+               \item Why isn't this good enough for $1\times 10^{-6}$
+       \end{itemize}
+\end{frame}
+
+\section{Implementing a Basic SVG Viewer}
+\begin{frame}
+\frametitle{Structure of Vector Graphics}
+\begin{itemize}
+       \item B\'{e}zier Curve (Quadratic or Cubic Parametric Polynomial)
+       \item Path of B\'{e}zier Curves $\to$ Shapes (with fill)
+       \item Shapes include font glyphs, like this $\mathscr{Z}$
+\end{itemize}
+\centering
+\includegraphics[width=0.5\textwidth]{bezier_to_font.pdf}
+
+\end{frame}
+
+\begin{frame}
+\frametitle{Structure of Vector Graphics III}
+\begin{itemize}
+       \item Rectangles show individual B\'{e}ziers forming outline of the Fox
+\end{itemize}
+\centering
+\includegraphics[width=0.5\textwidth]{../figures/fox-vector_face_with_bezbounds.png}
+\end{frame}
+
+\section{Live Demo}
+\begin{frame}
+\frametitle{Live Demo}
+\begin{itemize}
+       \item We can import standard SVGs wherever we want
+       \item If we are willing to wait long enough
+       \item \tiny{``... But, asks the scientist, what does that turtle stand on? To which the lady triumphantly answers: 'You're very clever, young man, but it's no use -- it's turtles all the way down!'.``}
+\end{itemize}
+\centering
+\includegraphics[width=\textwidth]{turtles.pdf}
+\end{frame}
+
+\section{Conclusions}
+\begin{frame}
+       \frametitle{Conclusions}
+\begin{itemize}
+       \item What we have done?
+       \begin{itemize}
+               \item Implemented a basic SVG viewer
+               \item Demonstrated how precision affects rendering vector graphics
+               \item Using GMP rationals, demonstrated the ability to render SVGs scaled to an arbitrary position in a document
+       \end{itemize}
+       \item Possible future work
+       \begin{itemize}
+               \item Implement more of the SVG standard
+               \item Trial alternative number representations
+               \item Allow for saving and loading SVGs with arbitrary precision
+       \end{itemize}
+\end{itemize}
+\end{frame}
+\section{References}
+
+\section{Questions}
+
+\begin{frame}
+\frametitle{Q: Why don't you have colour?}
+\begin{itemize}
+       \item We do!\footnote{If you are willing to wait long enough}
+       \item A complete implementation of SVG is ``future work''
+\end{itemize}
+\centering
+\includegraphics[width=0.5\textwidth]{../figures/shady-the-fox.png}
+\includegraphics[width=0.5\textwidth]{../figures/who-the-hell-needs-antialiasing-anyway.png}
+
+\end{frame}
+
+\begin{frame}
+\frametitle{Q: Why not just use doubles?}
+\begin{itemize}
+       \item Any fixed precision format will still give inexact results
+       \item But the inexact results will appear slower
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Q: Arbitrary precision floats?}
+\begin{itemize}
+       \item We support them as well!
+       \item Rationals are more convenient:
+       \begin{itemize}
+               \item Need to manually set precision
+               \item Some operations require infinite precision:
+               \begin{align}
+                       \frac{1}{3} &= 0.3333333333333333333333 \text{ ... } \times 10^0
+               \end{align}
+               \item How do you choose when to increase precision?
+       \end{itemize}
+       \item Could be future work
+\end{itemize}
+\end{frame}
+
+
+\end{document}

UCC git Repository :: git.ucc.asn.au