4 \documentclass[12pt,landscape,english]{beamer}
7 \usetheme[navmenu]{uwa_eng} % Three options supported: uwa_pagen (default), navmenu, sec_navmenu, and splitfooter
10 \usepackage[T1]{fontenc}
11 \usepackage[latin1]{inputenc}
15 \usepackage{multimedia}
19 % My personal preferences________________________________
20 \definecolor{myframe}{rgb}{0.2,0.2,0.2} % charcoal frametitle
21 \setbeamercolor{frametitle}{fg=myframe}
22 \definecolor{mystruc}{rgb}{0,0.25,0.45} % turquoise
23 \usecolortheme[named=mystruc]{structure} % Changing to blueish green instead of default midnight shade
24 \setbeamertemplate{headline}{\vspace{0.25cm}} % I personally find that the defaul position of the frametitle is too high
25 \setbeamercolor{title}{fg=black} % I personally don't like the taking the structure color for the title
27 %_________________________________
30 \title[short title]{Number Representations and Precision in Vector Graphics}
31 \subtitle{Implementation of an Arbitrary Precision SVG Viewer} % if you have one
33 % - Give the names in the same order as the appear in the paper.
34 % - Use the \inst{?} command only if the authors have different
37 \institute[UWA]% (optional) {Universities of Western Australia}
38 {Supervisors: Tim French, Rowan Davies}
40 \date[CSS 2009]{\today} % change the actual date
41 \titlegraphic{\includegraphics[width=3cm]{./Logos/WAMSI.png}}
43 %% Optional stuff------------------------------------------------------------------
45 %% Delete this, if you do not want the table of contents to pop up at
46 %% the beginning of each Section or Subsection:
47 %\AtBeginSubsection[] % I guess you could replace this with AtBeginSection
48 %{\begin{frame}<beamer>{Outline}
49 %\tableofcontents[currentsection,currentsubsection]
51 % \AtBeginSection[] % Simplified version of what's above. % Should only be used with uwa_pagen option
52 % {\begin{frame}<beamer>{Outline}
53 % \tableofcontents[currentsection]
56 %-------------------------------------------------------------------------------------------------
60 \usebackgroundtemplate{\includegraphics[width=\paperwidth,height=\paperheight]{uwa_eng_title.png}} % Required to get the UWA titlepage background different.
70 % You might wish to add the option [pausesections]
76 \item Vector graphics allow scaling but not arbitrary scaling
77 \item We implemented a vector graphics viewer that does allow arbitrary scaling
78 \item ... but it will take an arbitrary amount of time
82 % Start of presentation slides
83 \section{Motivation \& Background}
85 \frametitle{Graphics Formats}
87 \item Document formats (eg: PDF and SVG) are formats for vector graphics
88 \item Vector graphics scale better than raster graphics
92 \includegraphics[width=0.5\textwidth]{../figures/fox-vector.pdf}
93 \includegraphics[width=0.5\textwidth]{../figures/fox-raster.png}
99 \frametitle{Why is there a zoom limit?}
101 \includegraphics{../figures/koch1.pdf}
105 \frametitle{Why is there a zoom limit?}
107 \item SVG, PostScript, PDF specify IEEE-754 \emph{single} floating point number representations
108 \item Range of values: $\approx 3 \times 10^{-38} \to 3 \times 10^{+38}$
109 \item Rough Floating Point Definition\footnote{IEEE-754 is more complicated}:
114 \item $m$ and $E$ are encoded in a \emph{fixed length} string of bits
115 \item Floating Point $\approx$ Scientific Notation for computers
121 \frametitle{Visualisation of Floats}
123 \item \small{With total length of $m$ and $E$ limited to $7$ bits (1 sign bit)}
124 \item Showing positive numbers only
127 \includegraphics[width=0.8\textwidth]{../figures/floats.pdf}
132 \frametitle{Floating point calculations \\ go wrong}
134 \item At scale of only $1\times 10^{-6}$, the fox is very sick
137 \includegraphics[width=0.5\textwidth]{../figures/fox-vector_highzoom1.png}
139 \item Plank Length: $1.61 \times 10^{-35}$ metres $ > 3\times10^{-38}$
140 \item Size of Universe: $4.3 \times 10^{26}$ metres $ << 3 \times10^{38}$
141 \item Why isn't this good enough for $1\times 10^{-6}$
145 \section{Implementing a Basic SVG Viewer}
147 \frametitle{Structure of Vector Graphics}
149 \item B\'{e}zier Curve (Quadratic or Cubic Parametric Polynomial)
150 \item Path of B\'{e}zier Curves $\to$ Shapes (with fill)
151 \item Shapes include font glyphs, like this $\mathscr{Z}$
154 \includegraphics[width=0.5\textwidth]{bezier_to_font.pdf}
159 \frametitle{Structure of Vector Graphics III}
161 \item Rectangles show individual B\'{e}ziers forming outline of the Fox
164 \includegraphics[width=0.5\textwidth]{../figures/fox-vector_face_with_bezbounds.png}
169 \frametitle{Live Demo}
171 \item We can import standard SVGs wherever we want
172 \item If we are willing to wait long enough
173 \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!'.``}
176 \includegraphics[width=\textwidth]{turtles.pdf}
179 \section{Conclusions}
181 \frametitle{Conclusions}
183 \item What we have done?
185 \item Implemented a basic SVG viewer
186 \item Demonstrated how precision affects rendering vector graphics
187 \item Using GMP rationals, demonstrated the ability to render SVGs scaled to an arbitrary position in a document
189 \item Possible future work
191 \item Implement more of the SVG standard
192 \item Trial alternative number representations
193 \item Allow for saving and loading SVGs with arbitrary precision
202 \frametitle{Q: Why don't you have colour?}
204 \item We do!\footnote{If you are willing to wait long enough}
205 \item A complete implementation of SVG is ``future work''
208 \includegraphics[width=0.5\textwidth]{../figures/shady-the-fox.png}
209 \includegraphics[width=0.5\textwidth]{../figures/who-the-hell-needs-antialiasing-anyway.png}
214 \frametitle{Q: Why not just use doubles?}
216 \item Any fixed precision format will still give inexact results
217 \item But the inexact results will appear slower
222 \frametitle{Q: Arbitrary precision floats?}
224 \item We support them as well!
225 \item Rationals are more convenient:
227 \item Need to manually set precision
228 \item Some operations require infinite precision:
230 \frac{1}{3} &= 0.3333333333333333333333 \text{ ... } \times 10^0
232 \item How do you choose when to increase precision?
234 \item Could be future work