CS 630 - Free-form Solid Modeling

Bulletin Description

This course covers the path from a conceptual vision of a shape to a concrete computer-based description that is suitable for manufacturing. It covers various solids modeling techniques, including volume representations, boundary representations, instantiation and boolean combinations of shapes, and procedural generation such as sweeps. It discusses effective data structures and consistent and unambiguous part description formats to transfer a shape from a designer to a fabrication house, as well as problems with maintaining unambiguous topology in the presence of finite-precision geometry.


CS 535 or consent of the instructor.

Expected Preparation

The students should be capable of programming in C, C++ or Java, and have a general understanding of 3D graphics, data structures, and numerical computing.

Student Learning Outcomes

This course provides a good training ground for creative thinking and spatial perception. The students will have a good understanding of the design process through modeling of objects. The students will learn important geometrical concepts, algorithms, and data structures in procedural modeling which will be the way of the future for geometrical shapes and mechanical assemblies, and languages for describing geometric objects and scenes.

Syllabus Information

Course Content

1. Representation of Solids, B-rep; Polygon Soup vs. Shared Vertices, Triangle strips, fans, meshes, Use of Symmetry, Instancing

2. Pathplanning and NC machining, Analysis and Conversion Tools, Shape Analysis

3. Sweeps and other generators, Manifold vs. Non-manifold Objects, Euler Relations, Genus, Elementary Topology, Moebius Band, Klein Bottle, Cross-cap

4. Path Generator, Elementary Knot Theory, Mitring Prismatic Pipes, The MkWorm Story

5. Manufacturing Abstraction, Problems with Sharp Corners, Problems with adjacent elements in pocket milling, Tile Connectors, Injection Molding

6. Differential Geometry of Curves, Differential Geometry of Surfaces, Sculpture Generators, Bead Generator

7. Thick "Transparent" Surfaces, Perforations, Intersecting Breps, Basic Algorithms, Quaternions

8. Boolean CSG Operations, Problems with Intersecting Patches, Numerical Resolution of CSG Operations, Resolving CSG in Real Time

9. Interactive Car Panel Design, Problems with Parametric Modeling

10. Interactive User Interfaces, Acquiring Shape by 3D Scanning, Volume Structures and Texturing


Exact details about examinations in this course will be determined by the instructor offering the course. Typically there will be two in-class examinations during the semester and a two-hour final examination. Specific details will be made available in the syllabus at the start of each semester in which the course is offered.


A student's grade will be determined by a weighted average of homework assignments, programming exercises, projects, midterm examinations, and the final examination. The faculty offering the course will make the details available at the start of the course. A typical weighting is:

Homework and programs: 40%
Midterm Examinations (2 @ 15%): 30%
Final Examination: 30%

Possible Textbooks

Computational Geometry for Design and Manufacture
I.D.Faux and M.J.Pratt,
Halsted Press, Wiley, New York.

Geometric Modeling,
Wiley & Sons,
M.E. Mortensen,
New York.

Geometric & Solid Modeling,
C.M. Hoffmann, Morgan Kaufmann,
Palo Alto, California.

An Introduction to Solid Modeling,
M. Mantyla, Computer Science Press,
Rockville, Maryland.