X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fsam.git;a=blobdiff_plain;f=chapters%2FBackground_Bezier.tex;h=9f24b17742b97d69d5f3b06942347381ad60c031;hp=3652358d48a85f38780fbc4cd7d5c965c93aaed3;hb=38a856db801fa59c8959d85dd3f8f83437710681;hpb=5e4b9d22c1d1077d1179b5ee20c55e8662ea723a diff --git a/chapters/Background_Bezier.tex b/chapters/Background_Bezier.tex index 3652358..9f24b17 100644 --- a/chapters/Background_Bezier.tex +++ b/chapters/Background_Bezier.tex @@ -1,14 +1,14 @@ +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}). + A Bezier Curve of degree $n$ is defined by $n$ ``control points'' $\left\{P_0, ... P_n\right\}$. -Points $P(t)$ along the curve are defined by: +Points $P(t) = (x(t), y(t))$ along the curve are defined by: \begin{align} P(t) &= \displaystyle\sum_{j=0}^{n} B_j^n(t) P_j \end{align} +Where $t \epsilon [0,1]$ is a control parameter. $P(0) = P_0$ and $P(1) = P_n$. -From this definition it should be apparent $P(t)$ for a Bezier Curve of degree $0$ maps to a single point, whilst $P(t)$ for a Bezier of degree $1$ is a straight line between $P_0$ and $P_1$. $P(t)$ always begins at $P_0$ for $t = 0$ and ends at $P_n$ when $t = 1$. - -Figure \ref{bezier_3} shows a Bezier Curve defined by the points $\left\{(0,0), (1,0), (1,1)\right\}$. +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. -A straightforward algorithm for rendering Bezier's is to simply sample $P(t)$ for some number of 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, in ???? De Casteljau derived a more efficient means of sub dividing beziers into line segments. +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}. -Recently, Goldman presented an argument that Bezier's could be considered as fractal in nature, a fractal being the fixed point of an iterated function system\cite{goldman_thefractal}. Goldman's proof depends upon a modification to the De Casteljau Subdivision algorithm which expresses the subdivisions as an iterated function system.