Topics in Computer Graphics, Fall 2000 Topics in Computer Graphics, Fall 2000

Project Ideas

Your project need not be from this list; if you have your own idea, please discuss it with me.

Geometry of Surfaces

Reflection lines
Reflection lines on a surface can be obtained if we imagine that the surface is a perfect mirror and we look at the reflection of a straight line in the surface. Reflection lines are often used to evaluate the quality of a surface in computer-aided design. Compute reflection lines for a subdivision surface.
Exotic subdivision schemes
Most common subdivision schemes are based on simple tilings of the plane with triangles or quads; it is possible to design schemes around more complicated types of tilings. Implement one of the exotic subdivision schemes based on Laves, Archimedian or Penrose tilings. See the subdivision course notes, p. 91, for pictures of Laves and Archimedian tilings. See for information on Penrose tilings
Direct evaluation of subdivision
Although subdivision surfaces are defined as limits of recursive refinement, in many cases it is possible to evaluate the surface directly. Direct evaluation means that for a given triangular or quadrilateral face in the base mesh and planar coordinates of a point inside the face, we compute the corresponding point on the surface precisely without performing subdivision. Implement direct evaluation for piecewise smooth Loop and Catmull-Clark subdivision schemes (this is a part of a larger project and a lot of code will be provided to get you started).
Surface synthesis
Implement a multiresolution surface synthesizer similar to one of texture synthesizers; given a surface, synthesize a new surface which looks similar on fine scale.

Image texture synthesis

Hole-filling/scratch removal
Erase part of an image and automatically fill in the missing hole by texture synthesis.
Sketchy line art rendering
Capture sketchy pen strokes from a tablet, and render line art image in this sketchy style.
Textural Halftoning:
Process an image so that it has the same overall appearance as one image, but the texture taken from another. For example, make some one's face appear in an image of pebbles, as if the pebbles had been carefully arranged to make the face.
Probabilistic texture modeling
Use a neural network to model a texture synthesis procedure; interpolate between textures.

Animation and video texture

Video texture
Automatically extend a repetitive video sequence indefinitely. Make a simple video game or Flash-style animation with video texture sprites.
Motion capture cleanup
Raw motion capture data is generally quite spotty. This project would require learning a representation of motion and using it to automatically clean up mocap data.
Motion capture compression
Compress an animation sequence by learning a better representation of the sequence.

Creative ideas

Learn artistic mappings, e.g. gesture to abstract animation
See Aaron for details.
Image classification for an art project we are working on:
See Aaron for details.

Denis Zorin and Aaron Hertzmann
Last modified: Wed Nov 22 17:06:49 EST 2000