Commit things
[ipdf/sam.git] / chapters / Background.tex
index 605b4a2..67d1cd3 100644 (file)
@@ -1,88 +1,29 @@
 \chapter{Literature Review}\label{Background}
 
-This chapter will \rephrase{review the literature. It will also include some figures created by us from our test programs to aid with conceptual understanding of the literature.}
+%\section{Overview}
+\input{chapters/Background/Overview}
+\section{Raster and Vector Graphics}
+\input{chapters/Background/RasterAndVectorGraphics}
+\section{Rendering Vector Primitives}
+\input{chapters/Background/Rendering}
+\section{Coordinate Systems and Transformations}
+\input{chapters/Background/CoordinateSystems}
+\section{Precision Specified by Document Standards}
 
-\rephrase{TODO: Decide exactly what figures to make, then go make them; so far I have some ideas for a few about Floating Point operations, but none about the other stuff}.
+\input{chapters/Background/Standards/Precision}
 
-\rephrase{TODO: Actually (re)write this entire chapter}.
-\rephrase{????: Do I really want to make this go down to} \verb/\subsubsection/
 
-A paper by paper summary of the literature is also available at: \\ \url{http://szmoore.net/ipdf/documents/LiteratureNotes.pdf}.
 
 
-\rephrase{TODO: Actually make that readable or just remove the link}.
+\section{Fixed Point and Integer Number Representations}
+\input{chapters/Background/FixedPoint}
+\section{Floating Point Number Representations}
+\input{chapters/Background/Floats}
+\section{Rational Number Representations}
+\input{chapters/Background/Rationals}
 
-\section{Document Formats}
+\section{Floating Point Operations on the CPU and GPU}
+\input{chapters/Background/FloatingPointOnTheGPU}
 
-\subsection{History}
-
-Since mankind climbed down from the trees... \rephrase{plagiarism alert!}
-
-\subsection{Vector Graphics vs Raster Graphics}
-
-Raster Graphics: Stores the exact pixels as they would appear on a device. Causes obvious issues with scaling.
-Vector Graphics: Stores relative position of primitives - scales better. BUT still can't scale forever.
-
-\rephrase{Figures: Raster and Vector graphics at different scales}
-
-\subsection{Document Format Categories}
-
-Main reference: Pixels or Perish\cite{hayes2012pixels}
-
-\begin{enumerate}
-       \item DOM - eg: HTML/XMLish - defined in terms of elements that can contain other elements
-       \item Programming Language - eg: PostScript - programmer (or program) produces a program that is interpreted
-       \item Combination - eg: Javascript with HTML/XML - Program is interpreted that modifies the DOM. 
-       \begin{itemize}
-               \item The lines are becomming increasingly blurred between 1. and 2.
-               \item In the case of Javascript/HTML, a special DOM element \verb/<canvas>/ allows even lower level manipulation of graphics.
-       \end{itemize}
-\end{enumerate}
-
-Can be either human readable\footnote{For some definition of human and some definition of readable} or binary\footnote{So, our viewer is basically a DOM style but stored in a binary format}
-
-\subsection{Modern Graphics Formats}
-
-PostScript: Not actually widely used now, but PDF is basically the same thing.
-PDF: A way for adobe to make money
-SVG: Based on the DOM model, vector format
-BMP,PNG,GIF: Are these even worth mentioning?
-
-HTML: With the evolution of JavaScript and CSS, this has actually become a competitive document format; it can display much more complex dynamic content than eg: PDF.
-
-Web based documents still suffer from precision issues (JavaScript is notorious for its representation of everything, even integers, as floats, so you get rounding errors even with integer maths), and it also has other limitations (requires reasonably skilled programmer to create Javascript and/or a disgusting GUI tool that auto generates 10000 lines to display a button (I have seen one of these)). \rephrase{Hate on javascript a bit less maybe.}
-
-\subsection{Precision Limitations}
-
-\section{Representation of Numbers}
-
-Although this project has been motivated by a desire for more flexible document formats, the fundamental source of limited precision in vector document formats such as PDF and PostScript is the use of floating point numbers to represent the coordinates of vertex positions. In particular, implementations of PostScript and PDF must by definition restrict themselves to IEEE binary32 ``single precision'' floating point number representations in order to conform to the standards\cite{plrm, pdfref17}.
-
-Whilst David Gow will be focusing on how to structure a document format so as to avoid or reduce these limitations\cite{proposalGow}, the focus of our own research will be \rephrase{NUMBERS}.
-
-\subsection{Floating Point Number Representations}
-
-\begin{align*}
-       x &= (-1)^{s} \times m \times B^{e}
-\end{align*}
-
-$B = 2$, although IEEE also defines decimal representations for $B = 10$ --- these are useful in financial software\cite{ieee2008-754}.
-
-\rephrase{Aside: Are decimal representations for a document format eg: CAD also useful because you can then use metric coordinate systems?}
-
-\subsubsection{Precision}
-
-The floats map an infinite set of real numbers onto a discrete set of representations.
-
-\rephrase{Figure: 8 bit ``minifloats'' (all 255 of them) clearly showing the ``precision vs range'' issue}
-
-The most a result can be rounded in conversion to a floating point number is the units in last place; $m_{N} \times B^{e}$.
-
-\rephrase{Even though that paper that claims double is the best you will ever need because the error can be as much as the size of a bacterium relative to the distance to the moon}\cite{} \rephrase{there are many cases where increased number of bits will not save you}.\cite{HFP}
-
-
-\subsection{Alternate Number Representations}
-
-\rephrase{They exist\cite{HFP}}.
 
 

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