Sunday, April 21, 2013

Chapter 66: Bézier Curves for digital Typography and CAGD



In designing a typeface, there is a need to represent a smooth curve. However, curves and surfaces must be agreeable to the eye of observer aesthetically and not mathematically. Nevertheless, the ability to represent and transform complex curvilinear shapes has improved markedly with the advent of computer graphics. Progress in the area of curve representation stemmed from the need of mechanical engineers in the 1950’s and 60’s in the automobile and aircraft industries to accurately define freeform shapes. Transferring curves from the drawing board to the pattern shop was inefficient and inaccurate when designs contained anything other than basic lines, circles and parabolas. Although they possessed the hardware that allowed machining of complex three-dimensional shapes, software to communicate the particular specifications was lacking. (Farin, 1988).

Pierre Bézier


To solve this problem, Pierre Bezier, a French engineer working for the automobile company, Renault, used parametrically defined surfaces, expressed with polynomials exhibiting special characteristics, to develop what is now viewed as the beginnings of Computer Aided Geometric Design (CAGD). Unbeknownst to Bezier, Paul De Casteljau had just finished similar work, but because De Casteljau’s work wasn’t published until later, Bezier’s name is associated with these surfaces and curves. Bezier and de Casteljau’s insight into how to use these special polynomials to represent curves has had an important impact on the computer graphics field. The Bezier Curve representation is a method to represent a curve between 2 given points, by a polynomial parametric formula, with the additional idea of using a few “control points” that specifies the tangency of the given points.

A Bezier curve has two points (the context point and ending point) and two control ones (CP) that determine its shape.


A Bezier curve is defined by the current context point, two control points, and an ending point. The first part of the curve is tangential to the imaginary line that is defined by the context point and the first control point. The second part of the curve is tangential to the imaginary line that is defined by the second control point and the ending point.





De Casteljau Algorithm

Paul de Faget de Casteljau was born in Besançon, France on November 19, 1930. After his studies he did his military service in the war in Algeria. Having returned toFrance, he applied for a job position as a physicist at Citroën in Paris in 1958. Already during the same year he developed significant ideas within the local research group Fraisage Numérique of the department Service Outillage which would revolutionize the modelling of car bodies. His first theoretical results were filed with the French Patent Office INPI (Institut National de la Propriété Industrielle, Paris). For quite some time, the circle of specialists never learnt anything about them. During the mid-sixties, Pierre Bézier at Renault, , came up with similar approaches and was able to publish them shortly after. This is why the curve class found by Paul de Casteljau is now called Bézier curves. Thanks to Prof. Wolfgang Boehm of the Technical University of Braunschweig, the fundamental work of Paul de Casteljau finally became known in the mid-seventies. Since then, the algorithm containing its central idea is rightly called algorithm of de Casteljau, which plays a central role in the area of modelling and representing geometric objects.

Here is a control polygon


Each polygon segment is now divided in the ratio of t ( for example: t=1/2) . By doing so a next polygon level is created.

Each segment between the new points is divided in the ratio of t.


Here is the solution for the point t=1/4





The outline of a glyph is a mathematical description of the glyph's shape using lines and Bézier curves. The control points are needed to scale the glyph to the desired type size and resolution.




Glyphs are drawn using Bézier curves, but human intervention is necessary to make a precise mathematical design looks right. There are  a number of facts to take into account during the design process. A square appears to be square only if it is drawn 1% wider and the same is true for circular forms. To make a circular form appear the same size as a square, it should extend an extra 2% to 3% on each side. The point of a triangle appears to line up with a square only if it extends 3% further.

The definite measurements are completely dependent on the design and the designer’s eye. In this example of FF Nexus Serif by Martin Majoor, apparently similar shapes can sometimes be quite different from each other. The top row shows the correct glyphs for the ‘b’, ‘d’, ‘p’ and ‘q’. In the bottom row the first three were rotated and/or flipped to look like the ‘q’.


A number of corrections have been applied to the oval and rectangular shapes above. The first oval has the same width and height as the rectangle next to it, yet the oval seems smaller and appears out of line with the rectangle (even though it actually lines up perfectly). The second oval has been visually corrected, both in width and height. The diagram on the second line shows that equal white space between the shapes in the middle does not appear the same. A visual correction has been applied to the bottom example.


When making the strokes and bowl of the characters of a geometric typeface perfectly parallel and geometric the optical adjustments become apparent.




In more complicated curvatures it is recommended to use as few control points as possible. Too many points makes it hard to get a smooth, flowing line on a long curve. Too few points restricts the possible path the curve can follow. In designing a typeface it's good to get into the habit of placing the extreme left, right, top, and bottom points of a curve at the anchor locations with respect a rectangle enveloping the curve. For instance, on a circle, these would be at clock points 12, 3, 6, and 9. Of course, if the anchor points are on the extremes, the control handles will be either perfectly vertical or perfectly horizontal (assuming it's not a corner). Of course, a slavish conformity with these rules will not guarantee the creation of a good art, or even a convincing copy. In fact, the designers' who follow the analog artwork with a fair degree of accuracy usually discover that the results are less than ideal. It may be what the analog artwork actually looks like, but in the realm of digital outlines, it disappoints. As one designer has pu it " There is a difference between digital and analog art, and slavishly following an analog original, will not give you what you want."

Vector art is represented by collections of strokes and paths containing quadratic and cubic Bézier curves. Unlike conventional bitmaps, vector representations are resolution-independent and can be transformed arbitrarily without pixilation artifacts.




Microsoft has a developed a technique for rendering Bézier curves directly in terms of their mathematical equations using the Graphics Processing Unit. The idea is to render the triangles of each Bézier convex hull and apply a special pixel shader program to determine if a pixel is inside or outside a bounding curve. The pixel is then shaded accordingly, including anti-aliasing if a pixel is near a boundary. This approach is highly efficient allowing real-time translation, scaling, rotation, or arbitrary perspective transformation. These curves can also be animated in real-time with very little CPU intervention.









Using Bézier curves for Game Changers; by Jenn Droid







Creative Commons License
This work is licensed under a Creative Commons Attribution-No Derivative Works 3.0 Unported License.


No comments:

Post a Comment