Post on 04-Sep-2015
description
UMass Lowell Computer Science
91.580.201
Geometric ModelingProf. Karen Daniels
Spring, 2009
Lecture 1
Course Introduction
Course Introduction
What is Geometric Modeling?
Geometric Modeling: 91.580.201 Mondays 5:30-8:30, Prof. Daniels
Methods for representing and manipulating geometric
objects in a computational setting.
Differential Geometry
Computational Geometry
Adapted from: Geometric Modeling by Mortenson
Computer-Aided
Geometric Design
Constructive
Solid
Geometry
Geometric ModelingCourtesy of Cadence Design Systems
Courtesy of Stanford University
Courtesy of Silicon Graphics
Sample Application Areas
Computer Graphics
Geographic
Information Systems
& Spatial Databases
Medical
Imaging
CAD
Video
Games
Meshing for
Finite Element Analysis
Courtesy of Cadence Design Systems
Covering
Topological Invariant
Estimation
Geometric Model Examples
Source: MortensonSwept SurfaceConstructive Solid Geometry
Courtesy of Silicon Graphics
Model Examples (continued)
Sources: Hill /Kelley OpenGL and Mortenson
Wireframe and Boundary Representation (B-Rep) Models
Model Examples (continued)
Sources: Hill /Kelley OpenGL and Stanford Graphics Lab
Courtesy of Shu Ye and Cadence Design Systems
Meshing for Finite Element Analysis
Unstructured 3D Meshes (Rendered)
Model Examples (continued)
Courtesy of Silicon Graphics
Rendered Teapots
generated using OpenGL
Brief Historical Overview
Renaissance naval architects in Italy used conic sections for drafting.
Computer development spurs advances, starting in 1950s Computational progress is accompanied by mathematical foundation.
1950s: Computer-aided design (CAD) and manufacturing (CAM) begins. Numerically controlled (NC) machinery (e.g. cutting)
1960s: parametric curves begin replacing French curves.
1970s: bicubic patches, piecewise curves and surfaces
solid modeling: boundary representation (b-rep) and constructive solid geometry
1980s: nonuniform rational B-splines (NURBS) take root
mesh generation evolves, motivated by fields such as engineering and computer graphics
computational geometry becomes a discipline devoted to design and analysis of geometric algorithms
1990s and beyond: increased computational power fuels further evolution tremendous progress in computer graphics (e.g. sophisticated rendering)
meshing with large number of verticesSource: Mortenson & Farin & others
Course Introduction
Course Description
Web Page
http://www.cs.uml.edu/~kdaniels/courses/GEOM_580_S09.html
Nature of the Course
Elective graduate Computer Science course
Theory and Practice
Theory: Pencil-and-paper exercises
practice with objects properties and representations
Practice
Programs
Course Structure: 2 Parts
Advanced Topics(to be determined by student interests)
Splines
Meshing
Topological Properties
Student Projects
papers from literature
Courtesy of Cadence Design Systems
Fundamentals
Math and representations
Curves: Bezier, B-spline
Surfaces: Bezier, B-spline
Solids: sweep solids, CSG,
meshing, topological
properties
Spatial databases (guest
lecture)
Courtesy of Silicon Graphics
Textbooks
Required: (see web site for details)
Geometric Modeling (3rd edition) by Michael E. Mortenson
Curves and Surfaces for CAGD (5th edition) By Gerald Farin
can be ordered on-line
+ conference, journal papers
Computing Environments
OpenGL C++ graphics library and utilities
Linux or PC
Open source
Computational Geometry Algorithms Library (CGAL) in C++ with templates
Linux or PC
Open source
Visit to UMLs Mechanical Engineering Dept. to view CAD software
Prerequisites
Graduate Algorithms (91.503) is suggested
Additional helpful course background
computational geometry, graphics, visualization
Coding experience in C, C++
Additional helpful coding background: OpenGL and/or CGAL
Standard CS graduate-level math prerequisites:
calculus, discrete math
Additional helpful math background:
Linear Algebra Summations Topology
Sets MATH Proofs Geometry
Syllabus (current plan)
*
M 1/26
Syllabus (current plan, continued)
*
Grading
No exams
Homework 40%
Literature Reviews 20%
Lead class discussion
Project 40%
Homework
1 M 1/26 M 2/2 Math Basics
M 2/9 OpenGL example
HW# Assigned Due Content