Penultimate draft
[ipdf/sam.git] / chapters / Background / CoordinateSystems.tex
index 65baecf..c28b45b 100644 (file)
@@ -1,4 +1,4 @@
-Basic vector primitives composed of B{\'e}ziers may be rendered using only integer operations, once the starting and ending positions are rounded to the nearest pixel.
+The literature discussed in Chapter \ref{Background} is primarily concerned with the rendering process for graphical primitives, namely outlines defined by B\'{e}zier curves. We have seen that basic vector primitives composed of B{\'e}ziers may be rendered using only integer operations, once the starting and ending positions are rounded to the nearest pixel.
 
 However, a complete document will contain many such primitives which in general cannot all be shown on a display at once. A ``View'' rectangle can be defined to represent the size of the display relative to the document. To interact with the document a user can change this view through scaling or translating with the mouse.
 
@@ -20,6 +20,7 @@ The transformation may also be written as a 3x3 matrix $\matx{V}$ if we introduc
        \left( \begin{array}{c} X \\ Y \\ 1 \end{array}\right)\label{view-transformation-matrix}
 \end{align}
 
+This transformation can be used not just for the view, but in any mapping of points from one coordinate system to another one which is defined by some bounds rectangle. In particular, our implementations of B\'{e}zier rendering use this transformation to re-express control points relative to the bounding rectangle (whilst in the SVG standard, control points are specified relative to the document).
 
 \begin{figure}[H]
        \centering
@@ -29,18 +30,15 @@ The transformation may also be written as a 3x3 matrix $\matx{V}$ if we introduc
 
 \subsection{View Transformations}
 
-Moving the mouse\footnote{or on a touch screen, swiping the screen} by a distance $(\Delta x, \Delta y)$ relative to the size of the view should translate it by the same amount\cite{}:
+Moving the mouse (or on a touch screen, swiping the screen) by a distance $(\Delta x, \Delta y)$ relative to the size of the view should translate it by the same amount:
 \begin{align}
-       V_x \to V_x + \Delta x \\
-       V_y \to V_y + \Delta y
+       V_x \to V_x + \Delta x &\quad \quad V_y \to V_y + \Delta y
 \end{align}
 
-The document can be scaled by a factor of $s$ about a point $(x_0,y_0)$ specified relative to the view (such as the position of the mouse cursor)\cite{}:
+The document can be scaled by a factor of $s$ about a point $(x_0,y_0)$ specified relative to the view (such as the position of the mouse cursor):
 \begin{align}
-       V_x \to V_x + x_0 V_w(1 - s) \\
-       V_y \to V_y + y_0 V_h(1 - s) \\
-       V_w \to s V_w \\
-       V_h \to s V_h
+       V_x \to V_x + x_0 V_w(1 - s) &\quad \quad V_y \to V_y + y_0 V_h(1 - s) \\
+       V_w \to s V_w &\quad \quad V_h \to s V_h
 \end{align}
 
 The effect of this transformation is that, measured relative to the view rectangle, the distance of primitives with coordinates $(x, y)$ to the point $(x_0, y_0)$ will decrease by a factor of $s$. For $s < 1$ the operation is ``zooming out'' and for $s > 1$, ``zooming in''.

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