View
213
Download
0
Category
Tags:
Preview:
Citation preview
UMass Lowell Computer Science 91.580.201
Geometric Modeling Prof. Karen Daniels
Spring, 2009
UMass Lowell Computer Science 91.580.201
Geometric Modeling Prof. Karen Daniels
Spring, 2009
Lecture 1Lecture 1
Course IntroductionCourse Introduction
Geometric Modeling: 91.580.201 Mondays 5:30-8:30, Prof. DanielsGeometric Modeling: 91.580.201 Mondays 5:30-8:30, Prof. Daniels
Methods for representing and manipulating geometric Methods for representing and manipulating geometric objects in a computational setting.objects in a computational setting.
Differential GeometryDifferential Geometry
Computational GeometryComputational Geometry
Adapted from:Adapted from: Geometric ModelingGeometric Modeling by Mortenson by Mortenson
Computer-AidedComputer-Aided Geometric DesignGeometric Design
ConstructiveConstructiveSolid Solid GeometryGeometry
Geometric ModelingGeometric ModelingCourtesy of Cadence Design SystemsCourtesy of Cadence Design Systems
Courtesy of Stanford UniversityCourtesy of Stanford University
Courtesy of Silicon GraphicsCourtesy of Silicon Graphics
Sample Application AreasSample Application Areas
Computer GraphicsComputer Graphics
Geographic Geographic Information SystemsInformation Systems& Spatial Databases& Spatial Databases
Medical Medical ImagingImaging
CADCAD
VideoVideoGamesGames
Meshing for Meshing for Finite Element AnalysisFinite Element Analysis
Courtesy of Cadence Design SystemsCourtesy of Cadence Design Systems
CoveringCovering
Topological Invariant Topological Invariant EstimationEstimation
Geometric Model ExamplesGeometric Model Examples
Source: MortensonSwept SurfaceConstructive Solid Geometry
Courtesy of Silicon GraphicsCourtesy of Silicon Graphics
Model Examples (continued)Model Examples (continued)
Sources: Hill /Kelley OpenGL and Mortenson
Wireframe and Boundary Representation (B-Rep) ModelsWireframe and Boundary Representation (B-Rep) Models
Model Examples (continued)Model Examples (continued)
Sources: Hill /Kelley OpenGL and Stanford Graphics Lab
Courtesy of Shu Ye and Cadence Design SystemsCourtesy of Shu Ye and Cadence Design Systems
Meshing for Finite Element AnalysisMeshing for Finite Element Analysis
Unstructured 3D Meshes (Rendered)Unstructured 3D Meshes (Rendered)
Model Examples (continued)Model Examples (continued)
Courtesy of Silicon GraphicsCourtesy of Silicon Graphics
Rendered TeapotsRendered Teapotsgenerated using OpenGLgenerated using OpenGL
Brief Historical OverviewBrief Historical Overview
Renaissance naval architects in Italy used conic sections for drafting.Renaissance naval architects in Italy used conic sections for drafting. Computer development spurs advances, starting in 1950’sComputer development spurs advances, starting in 1950’s
Computational progress is accompanied by mathematical foundation.Computational progress is accompanied by mathematical foundation. 1950’s: Computer-aided design (CAD) and manufacturing (CAM) begins.1950’s: Computer-aided design (CAD) and manufacturing (CAM) begins.
Numerically controlled (NC) machinery (e.g. cutting)Numerically controlled (NC) machinery (e.g. cutting) 1960’s: parametric curves begin replacing “French curves.”1960’s: parametric curves begin replacing “French curves.” 1970’s: 1970’s:
bicubic patches, piecewise curves and surfacesbicubic patches, piecewise curves and surfaces solid modeling: boundary representation (b-rep) and constructive solid geometrysolid modeling: boundary representation (b-rep) and constructive solid geometry
1980’s: 1980’s: nonuniform rational B-splines (NURBS) take rootnonuniform rational B-splines (NURBS) take root mesh generation evolves, motivated by fields such as engineering and computer mesh generation evolves, motivated by fields such as engineering and computer
graphicsgraphics computational geometry becomes a discipline devoted to design and analysis of computational geometry becomes a discipline devoted to design and analysis of
geometric algorithmsgeometric algorithms 1990’s and beyond: increased computational power fuels further evolution1990’s and beyond: increased computational power fuels further evolution
tremendous progress in computer graphics (e.g. sophisticated rendering)tremendous progress in computer graphics (e.g. sophisticated rendering) meshing with large number of verticesmeshing with large number of vertices
Source: Mortenson & Farin & others
Nature of the CourseNature of the Course
Elective graduate Computer Science courseElective graduate Computer Science course Theory and PracticeTheory and Practice
Theory: “Pencil-and-paper” exercisesTheory: “Pencil-and-paper” exercises practice with objects’ properties and representationspractice with objects’ properties and representations
PracticePractice ProgramsPrograms
Course Structure: 2 PartsCourse Structure: 2 Parts
Advanced TopicsAdvanced Topics
(to be determined by student interests)(to be determined by student interests)
SplinesSplinesMeshing Meshing Topological PropertiesTopological PropertiesStudent ProjectsStudent Projects
papers from literaturepapers from literature
Courtesy of Cadence Design SystemsCourtesy of Cadence Design Systems
FundamentalsFundamentalsMath and representationsMath and representations
Curves: Bezier, B-splineCurves: Bezier, B-spline
Surfaces: Bezier, B-splineSurfaces: Bezier, B-spline
Solids: sweep solids, CSG, Solids: sweep solids, CSG,
meshing, topological meshing, topological
propertiesproperties
Spatial databases (guest Spatial databases (guest
lecture)lecture)
Courtesy of Silicon GraphicsCourtesy of Silicon Graphics
TextbooksTextbooks
• Required: (see web site for details)• Geometric Modeling (3Geometric Modeling (3rdrd edition) edition)
• by Michael E. Mortensonby Michael E. Mortenson• Curves and Surfaces for CAGD Curves and Surfaces for CAGD
(5(5thth edition) edition)• By Gerald FarinBy Gerald Farin
can be ordered on-line
+ conference, journal papers+ conference, journal papers
Computing EnvironmentsComputing Environments
OpenGL C++ graphics library and utilitiesOpenGL C++ graphics library and utilities Linux or PCLinux or PC Open sourceOpen source
Computational Geometry Algorithms Library Computational Geometry Algorithms Library (CGAL) in C++ with templates(CGAL) in C++ with templates Linux or PCLinux or PC Open sourceOpen source
Visit to UML’s Mechanical Engineering Dept. to Visit to UML’s Mechanical Engineering Dept. to view CAD softwareview CAD software
PrerequisitesPrerequisites
Graduate Algorithms (91.503) is suggestedGraduate Algorithms (91.503) is suggested Additional helpful course backgroundAdditional helpful course background
computational geometry, graphics, visualizationcomputational geometry, graphics, visualization
Coding experience in C, C++Coding experience in C, C++ Additional helpful coding background: OpenGL and/or CGALAdditional helpful coding background: OpenGL and/or CGAL
Standard CS graduate-level math prerequisites:Standard CS graduate-level math prerequisites: calculus, discrete math calculus, discrete math Additional helpful math background:Additional helpful math background:
Linear AlgebraLinear Algebra SummationsSummations TopologyTopology
SetsSets MATHMATHProofsProofs GeometryGeometry
Recommended