+
+
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=800px]{figures/grid_0_1e-6.png}
+ \includegraphics[width=800px]{figures/{grid_0.5_1e-6}.png}
+ \includegraphics[width=800px]{figures/grid_1_1e-6.png}
+ \includegraphics[width=800px]{figures/grid_2_1e-6.png}
+ \caption{Effect of applying \eqref{view-transformation} to a grid of lines seperated by 1 pixel \\
+ a) Near origin (denormals) b), c), d) Increasing the exponent of $(v_x,v_y)$ by 1}\label{grid-precision}
+\end{figure}
+
+\subsection{Precision for Fixed View} \label{Precision for Fixed View}
+
+By counting the number of distinctly representable lines within a particular view, we can show the degradation of precision quantitatively. The test grid is added to each view rectangle with increasingly smaller width and height.
+
+
+Figure \ref{loss_of_precision_grid_0.5.pdf} shows how precision degrades with $(V_x, V_y) = (0.5,0.5)$ for different precision settings using MPFR floating point values to represent the view coordinates. A constant line at $1401$ grid locations indicates no loss of precision. From this figure it should be clear how merely setting the precision of the floating point representation to a higher (but fixed) value will not allow insertion of detail at an arbitrary point; using 1024 bits of precision will still leave no lines representable above magnifications of $M \approx10^{310}$.
+
+
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.8\textwidth]{{figures/loss_of_precision_grid_0.5}.pdf}
+ \caption{Loss of precision of the grid}
+ \label{loss_of_precision_grid_0.5.pdf}
+\end{figure}
+
+\subsection{Accumulated error after changing the View}
+
+Using the cumulative transformation approach discussed in Section \ref{cumulative_transform} means that detail inserted into a fixed view will always render correctly. A fairer test of this approach is to test the rendering accuracy after applying repeated scaling to the document.
+
+Figure \ref{cumulative_error_grid.pdf} shows the total error in the coordinates of each line in the grid after the view is scaled by repeated transformations (zooming \emph{out} and then back in by the same amount). A constant line at $0$ would indicate no accumulated error.
+
+In this case, using an arbitrary precision representation such as GMP Rationals (\texttt{path-rat}) does not totally eliminate error. This is simply because the final coordinate transformation requires the conversion of rationals to IEEE-754 floats before rendering. Since the total final error for $1042$ lines is less than $10^{-2}$, and the width of the display is $1$, this would represent a negligable difference in the rendering of the grid.
+
+The legend of Figure \ref{cumulative_error_grid.pdf} should be interpreted as follows: A prefix of \texttt{path} indicates use of intermediate Path coordinate systems (Section \ref{path_transform}), \texttt{cumul} indicates cumulative transforms applied to B\'{e}ziers (Section \ref{cumulative_transform}) and no prefix indicates the direct approach (Section \ref{direct_transform}). The type of number representation used is also indicated. In the case of the Path transformations, only the bounds of the Path are expressed with the indicated representation; all other operations are done using IEEE-754 single precision floats. These results agree with those discussed qualitatively above.
+
+
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.8\textwidth]{figures/cumulative_error_grid.pdf}
+ \caption{Error in the coordinates of the grid {\bf Note:} Logarithmic Axes}
+ \label{cumulative_error_grid.pdf}
+\end{figure}
+
+\section{Performance Measurements}