Server: Netscape-Communications/1.1 Date: Wednesday, 20-Nov-96 23:24:28 GMT Last-modified: Monday, 24-Jun-96 14:59:21 GMT Content-length: 5156 Content-type: text/html
Problem Sets (3 or 4 of them) and a project
Basically, the course will be about mathematical techniques used for geometric design in computer graphics (but also in robotics, vision, and computational geometry). Such techniques are used in 2D and 3D drawing and plot, object silhouettes, animating positions, product design (cars, planes, buildings), topographic data, medical imagery, active surfaces of proteins, attribute maps (color, texture, roughness), weather data, art(!), ... . Three broad classes of problems will be considered:
Specific topics include: basic geometric material on affine spaces and affine maps. Be'zier curves will be introduced ``gently'', in terms of multiaffine symmetric polar forms, also known as ``blossoms''. We will begin with degree 2, move up to degree 3, giving lots of examples, and derive the fundamental ``de Casteljau algorithm'', and show where the Bernstein polynomials come from. Then, we will consider polynomial curves of arbitrary degree. It will be shown how a construction embedding an affine space into a vector space, where points and vectors can be treated uniformly, together with polar forms, yield a very elegant and effective treatment of tangents and osculating flats. The conditions for joining polynomial curves will be derived using polar forms, and this will lead to a treatment of B-splines in terms of polar forms. In particular, the de Boor algorithm will be derived as a natural extension of the de Casteljau algorithm. Rectangular (tensor product) Be'zier surfaces, and triangular Be'zier surfaces will also be introduced using polar forms, and the de Casteljau algorithm will be derived. Subdivision algorithms and their application to rendering will be discussed extensively. Joining conditions will be derived using polar forms.
Using the embedding of an affine space into a vector space, we will contruct the projective completion of an affine space, and show how rational curves can be dealt with as central projections of polynomial curves, with appropriate generalizations of the de Casteljau algorithm.
Rational surfaces will be obtained as central projections of polynomial surfaces. If time permits, NURBS and geometric continuity will be discussed. This will require a little bit of differential geometry.
A class-room treatment of curves and surfaces in terms of polar forms is rather new (although used at Stanford by Leo Guibas and Lyle Ramshaw), but should be illuminating and exciting. Since books (even recent) do not follow such an approach, I have written extensive course notes, which will be available.
I will mix assignments not involving programming, and small programming projects. There are plenty of opportunities for trying out the algorithms presented in the course. In particular, it is fairly easy to program many of these algorithms in Mathematica (I have done so, and I'm not such a great programmer!).
At the end of the course, you will know how to write your own algorithms to display the half Klein bottle shown below.
published by:
Jean Gallier