\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}
