X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fsam.git;a=blobdiff_plain;f=chapters%2FBackground.tex;h=8a85ce030fa1933f6f86719774f2342c6c9b121b;hp=bc3b08976c5a43ea5d9bbc7537634442bd3eb5c3;hb=20f882fefa7e17840ddec6ce1c5c8e15764bb0fa;hpb=747a93660e5c5784f9f76b6c4f2a60bb92f7bdf3 diff --git a/chapters/Background.tex b/chapters/Background.tex index bc3b089..8a85ce0 100644 --- a/chapters/Background.tex +++ b/chapters/Background.tex @@ -30,8 +30,7 @@ Splines are continuous curves formed from piecewise polynomial segments. A polyn A straight line is simply a polynomial of $0$th degree. Splines may be rasterised by sampling of $y(x)$ at a number of points $x_i$ and rendering straight lines between $(x_i, y_i)$ and $(x_{i+1}, y_{i+1})$ as discussed in Section \ref{Straight Lines}. More direct algorithms for drawing splines based upon Brasenham and Wu's algorithms also exist\cite{citationneeded}. -There are many different ways to define a spline. One approach is to specify ``knots'' on the spline and solve for the cooefficients to generate a cubic spline ($n = 3$) passing through the points. Alternatively, special polynomials may be defined using ``control'' points which themselves are not part of the curve; these are convenient for graphical based editors. For example, drawing bezier curves with the mouse is the primary method of constructing paths in the Inkscape SVG editor\cite{inkscape}. - +There are many different ways to define a spline. One approach is to specify ``knots'' on the spline and solve for the cooefficients to generate a cubic spline ($n = 3$) passing through the points. Alternatively, special polynomials may be defined using ``control'' points which themselves are not part of the curve; these are convenient for graphical based editors. Bezier splines are the most straight forward way to define a curve in the standards considered in Section \ref{Document Representations} \subsubsection{Bezier Curves} \input{chapters/Background_Bezier} @@ -55,7 +54,7 @@ Traditionally, vector graphics have been rasterized by the CPU before being sent \rephrase{2. Here are the ways documents are structured ... we got here eventually} -\section{Document Representations} +\section{Document Representations}\label{Document Representations} The representation of information, particularly for scientific purposes, has changed dramatically over the last few decades. For example, Brassel's 1979 paper referenced earlier has been produced on a mechanical type writer. Although the paper discusses an algorithm for shading on computer displays, the figures illustrating this algorithm have not been generated by a computer, but drawn by Brassel's assistant\cite{brassel1979analgorithm}. In contrast, modern papers such as Barnes et. al's recent paper on embedding 3d images in PDF documents\cite{barnes2013embeddding} can themselves be an interactive proof of concept. @@ -88,6 +87,7 @@ Hayes' 2012 article ``Pixels or Perish'' discusses the recent history and curren \item Solves security issues, more efficient \end{itemize} +\pagebreak \subsection{Document Object Model}\label{Document Object Model} \input{chapters/Background_DOM} @@ -107,7 +107,7 @@ The document and the code that produces it are one and the same. \section{Precision in Modern Document Formats} -We briefly summarise the requirements of standard document formats in regards to the precision of number representations: +We briefly summarise the requirements of the standards discussed so far in regards to the precision of mathematical operations: \begin{itemize} \item {\bf PostScript} predates the IEEE-754 standard and originally specified a floating point representation with ? bits of exponent and ? bits of mantissa. Version ? of the PostScript standard changed to specify IEEE-754 binary32 ``single precision'' floats. \item {\bf PDF} has also specified IEEE-754 binary32 since version ?. Importantly, the standard states that this is a \emph{maximum} precision; documents created with higher precision would not be viewable in Adobe Reader.