9f24b17742b97d69d5f3b06942347381ad60c031
[ipdf/sam.git] / chapters / Background_Bezier.tex
1 Cubic and Quadratic Bezier Splines are used to define curved paths in the PostScript\cite{plrm}, PDF\cite{pdfref17} and SVG\cite{svg2011-1.1} standards which we will discuss in Section \ref{Document Representations}.  Cubic Beziers are also used to define vector fonts for rendering text\cite{knuth1983metafont} (See Section \ref{Fonts}).
2
3 A Bezier Curve of degree $n$ is defined by $n$ ``control points'' $\left\{P_0, ... P_n\right\}$. 
4 Points $P(t) = (x(t), y(t))$ along the curve are defined by:
5 \begin{align}
6         P(t) &= \displaystyle\sum_{j=0}^{n} B_j^n(t) P_j
7 \end{align}
8 Where $t \epsilon [0,1]$ is a control parameter. $P(0) = P_0$ and $P(1) = P_n$.
9
10 A straightforward algorithm for rendering Bezier's is to simply sample $P(t)$ for suffiently many values of $t$ and connect the resulting points with straight lines using Bresenham or Wu's algorithm (See Section \ref{Straight Lines}). Whilst the performance of this algorithm is linear, De Casteljau derived a more efficient means of sub dividing beziers into line segments.
11
12 Recently, Goldman presented an argument that Bezier's could be considered as fractal in nature, because the De Casteljau algorithm could be modified to be expressed as an iterated function system\cite{goldman_thefractal}.
13
14

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