CMSC 741: Geometric and Solid Modeling (Fall 2010)
Announcements
- December 11, 2010
- A study guide for the final is available here.
- November 23, 2010
- The next class will be on Tuesday, November 30 in
AVW 4424 @ 5-7:45 PM.
Lecture notes have been posted here.
- November 23, 2010
- Some triangle and tetrahedral meshes are available for the projects
here.
Please see the course resources for more datasets and modeling tools. - November 22, 2010
- Lecture notes for today's class have been posted here.
Today's class will meet in AVW 3258 @ 5-7:45 PM.
- November 11, 2010
- The final exam for the class is scheduled for Thursday, December 16 from 8:00-10:00 AM in CSIC 3118 .
- November 5, 2010
- Lecture notes for today's class have been posted here.
- October 29, 2010
- Lecture notes for today's class have been posted here.
- October 15, 2010
- Lecture notes for today's class have been posted here.
- October 12, 2010
- Practice questions for the midterm have been posted here.
- October 6, 2010
- We will not be having class this coming Friday, October 8.
The next class will be held on Friday, October 15,
and the midterm will be on Friday, October 22. - September 27, 2010
- Lecture notes for today's class have been posted here.
- September 21, 2010
- Next week, we will have class on Monday (Sept. 27) instead of Friday (Oct. 1).
Monday's class (Sept. 27) will meet in AVW 3258 @ 5-7:45 PM. - September 17, 2010
- List of suggested course projects, including descriptions and reference articles have been posted here.
- September 16, 2010
- Lecture notes for tomorrow's class have been posted here.
- September 13, 2010
- Lecture notes for today's class have been posted here.
- September 12, 2010
- This week, we will have class on Monday in addition to the class on Friday at the regular time and place.
Monday's class (Sept. 13) will meet in AVW 3258 @ 5-7:45 PM. - September 7, 2010
- Lecture notes for today's class have been posted here.
- September 6, 2010
- A detailed class schedule with lecture notes can be accessed here.
It can be accessed from the cs department or using the supplied password. - September 3, 2010
- Next week's class will be held on Tuesday (9/7) instead of Friday (9/10).
The class will meet in AVW 4424 on Tuesday, September 7 @ 5-7:45 PM. - September 3, 2010
- Lecture notes added for first class.
- August 26, 2010
- The first class will be on Friday September 3, 2010.
Course Information
- Location
- CSIC 3118
- Meeting times
- Fridays 9:00-11:30 AM
Instructors
Hanan Samet
Leila De Floriani
Kenneth Weiss
Course Objectives
An introduction to modeling for solid objects, surfaces, and scalar fields. Covers fundamental concepts from areas of computer aided design, computer graphics, scientific visualization, finite elements and spatial indexing. Topics include boundary models for solid objects, object representations based on volumetric decompositions, constructive object models, representations of shapes in two, three and higher dimensions through simplicial meshes, mesh simplification techniques, morphological representations of shapes and multiresolution models.
Graduate Credit
Course counts for both MS and Ph.D. qualifying coursework in the Visual and Geometric Computing area.
Prerequisites
CMSC 420, CMSC 427, or equivalents.
Course Work
Course work will consist of a semester-long project in which the students will be required to evaluate existing ideas through implementation and experimentation or through an open-ended research project which can lead to publication. There will be two exams: a midterm and a final exam.
Weights: Project 1/3, Midterm 1/3, Final 1/3.
Detailed outline
The topics and the order in which they are listed below are tentative and subject to change.
Preliminaries
- Basic elements of point-set topology: topological spaces, metric spaces, manifolds.
- Notions from combinatorial topology: cell and simplicial complexes (meshes), pseudo-manifolds, combinatorial manifolds.
Spatial data structures and indexing methods
- Sorting in space.
- Space-based shape representations: Region quadtrees, octrees and kD-trees.
- Object-based shape representations: BSP-trees; PM-quadtrees, octrees and kD-trees.
- Hierarchical representations for point location.
Mesh-based shape models
- Cell and simplicial complexes for shape representation.
- Boundary representations for three dimensional shapes.
- Volumetric decompositions of shapes.
- Combinatorial shape characterization: manifold and non-manifold.
Data structures for mesh-based shape models
- Data structures for two-dimensional shapes discretized as cell complexes.
- Data structures for triangle and tetrahedral complexes: adjacency-based, incidence-based and edge-based representations.
- Data structures for simplicial complexes in arbitrary dimensions.
Generating shape representations
- Euler operators for boundary representations of three dimensional shapes.
- Delaunay triangulation and tetrahedralization: basic definitions and properties, an incremental algorithm.
- Relations between Delaunay triangulation and Voronoi diagram.
- Constructive Solid Geometry (CSG).
Multiresolution mesh-based shape modeling
- Approximation of shapes through triangle and tetrahedral complexes.
- Algorithms for incremental decimation and refinement of triangle and tetrahedral meshes.
- Multiresolution representations based on irregular triangle and tetrahedral meshes.
Multiresolution models for scalar fields
- Multiresolution representations based on nested simplicial complexes.
- Nested simplicial bisection schemes.
- Clustering techniques for crack-free approximations.
- Applications: terrain modeling, volume data visualization.
Morphology-based shape modeling
- Morphological shape descriptors based on Morse theory.
- Algorithms for computing Morse- and Morse-Smale complexes.
- Shape segmentation through Morse- and Morse-Smale complexes.
- Reeb graphs.
Class Schedule
A detailed class schedule with lecture notes can be found here.
September
- September 3.
- Course Introduction · Elements of point-set topology
- September 7.
- Spatial data structures and indexing methods (part 1)
- September 13.
- Notions from combinatorial topology · Combinatorial characterization of shapes
- September 17.
- Data structures for shape representation · Representations for 2-manifolds
- September 24.
- Representations for tetrahedral meshes
- September 27.
- Dimension specific representations for non-manifold complexes
October
- October 15.
- Winged-edge and lath data structures
- October 22.
- Midterm
- October 29.
- Boundary representations of solid objects
November
- November 5.
- Multiresolution models for regular scalar fields
- November 12.
- Spatial data structures and indexing methods (part 2)
- November 22.
- Euler operators · Solid modeling schemes
- November 30.
- Delaunay triangulation · Mesh simplification
December
- December 3.
- Multiresolution models for irregular meshes
- December 13.
-
Write-up due for course project.
Please schedule a meeting for Tuesday (12/14) or Friday (12/17) to demo/discuss your project. - December 16.
- Final exam (CSIC 3118): 8:00-10:00 AM
Resources
Recommended books and paper collections
- H. Samet, Foundations of Multidimensional and Metric Data Structures, Morgan Kaufmann, 2006 (available in CS library).
- M.K. Agoston, Computer Graphics and Geometric Modeling: Mathematics, Springer Verlag, 2005 (available in CS library).
- H. Edelsbrunner, Geometry and Topology for Mesh Generation, Cambridge University Press, 2001 (available in CS library).
- D. Luebke, M. Reddy, J.Cohen, A. Varshney, B. Watson, R. Huebner, Level Of Detail for 3D Graphics, Morgan Kaufmann, 2002 (available in CS library).
- C. Hoffmann, Geometric and Solid Modeling, Morgan Kaufmann, San Mateo, California, 1989 [Chapters 1—3] (available online and in CS library).
- M. Mantyla, An Introduction to Solid Modeling, Computer Science Press, 1988 (available in CS library).
- M. de Berg, M. van Kreveld, M. Overmars, O. Schwarzkopf, Computational Geometry, Springer Verlag, 1998 (available in CS library).
- Lists of recent conference proceedings are maintained by Ke-Sen Huang.
- A list of free online computer graphics books is maintained by the Real-Time Rendering book's companion site.
Notes on Solid Modeling
- A. A.G. Requicha, Geometric Modeling: A First Course, University of Southern California, 1999 (available online )
Data Sets
- The Aim@Shape repository has a diverse collection of 2d and 3D models.
- Triangle meshes
- Stanford 3D scanning repository.
- Princeton Shape Benchmark.
- Brown Mesh Set.
- Models and links maintained by the LOD book's companion site.
- Terrain data
- The Virtual Terrain Project.
- Links maintained by the LOD book's companion site.
- Volumetric data
- VolVis hosts a collection of medical and scientific volumetric datasets.
- Links maintained by the Real-Time Volume Graphics book's companion site.
Software
Modeling tools
- The Aim@Shape repository provides a collection of tools for creating and manipulating 2D and 3D shapes.
- A repository of modeling tools is maintained by the LOD book's companion site.
- Wings3D is a free multi-platform software based on the winged-edge data structure.
- Notes by Annie Hui on creating non-manifold shapes by using Wings3D.
- Blender is a free multi-platform modeling package.
- BRL-CAD is a free unix-based software using the constructive solid geometry approach.
- TetGen is a small free tool written in C++ for generating and viewing tetrahedral meshes.
- Sculptris is a free Delaunay-based surface modeler.
Mesh viewers and converters
- Paraview is an open source, multi-platform data analysis and visualization application, built on the VTK framework.
- Meshlab is a free viewer for unstructured 3D triangular meshes.
- ivcon is a free tool written in C++ for converting a variety of 3D graphic file formats.
- trimesh is a library and set of utilities written in C++ for manipulating and converting 3D triangle meshes.
APIs and Code Libraries
- The Computational Geometry Algorithms Library (CGAL) provides a wide collection of free tools, written in C++, for geometric computation.
- The Visualization Toolkit (VTK) is an open-source software system, written in C++, for computer graphics, image processing and visualization.
- lapack is a linear algebra package written in fortran. clapack is its fortran-to-C version.