Geometric Modeling, Spring 2001
Projects

We describe some geometric modeling projects, either in 2 or 3 D. Generally, Java is assumed unless otherwise specified. See me for further details. But before you start the project, I will need to approve a 2-page proposal.
  1. Parametric 2-D Design. We want to model a 2-D scene using basic objects such as points, segments, etc. But every object has a collection of attributes, which are not strictly enforced. The coordinates of points are also attributes, for instance! Further more these objects are collected into groupings, where each grouping has a set of free parameters. Each grouping also has its own affine transformation attribute.
  2. 2-D Mechanism Design. A linkage system is a set of rigid rods in which certain of the endpoints are identified. There are some recent progress in understanding such systems. In particular, using the theory of pseudo-triangulations, Streanu proved that every such simple polygon can be moved into a convex position (preserving simplicity). We want to animate this proof. This project requires C++ and the use of our Core Library.
  3. String Pad. Suppose we want a system to represent a collection of interactive strings. These strings has basic physical properties (like continuity, width, tension, mass and elasticity). Each string is a viewed as a polygline (evenly space with same small gap). This is a (2+epsilon)-Dimensional system because each intersection of two portions of a strings must be marked by some above-below indicator. We will describe some simple energy function that can be iteratively solved using the Euler-Lagrange equations.
  4. Digital Elevation Model Visualization and Query System. We want a system to read and display DEM data sets. So it is basically a 2.5-Dimensional system. This project requires learning about the DEM model. This work can ultimately be integrated with our Tiger Data visualization system.
  5. Basic CSG. We want to implement a simple CSG system based on Mantyla's design of Euler operators. The operations we support are affine transformations and regularized Boolean operations only.
  6. Tesselation. This is based on the paper