umass lowell computer science 91.580.201 geometric ...kdaniels/courses/geom_580_s11/geom... ·...
TRANSCRIPT
UMass Lowell Computer Science UMass Lowell Computer Science 91.580.201
Geometric Modeling91.580.201
Geometric ModelingGeometric ModelingProf. Karen Daniels
Spring 2011
Geometric ModelingProf. Karen Daniels
Spring 2011Spring, 2011Spring, 2011
Lecture 1Lecture 1C I t d tiC I t d tiCourse IntroductionCourse Introduction
Course IntroductionCourse Introduction
What is Geometric Modeling?What is Geometric Modeling?
Geometric Modeling: 91.580.201 Th d 5 30 8 15 P f D i lGeometric Modeling: 91.580.201 Th d 5 30 8 15 P f D i lThursdays 5:30-8:15, Prof. DanielsThursdays 5:30-8:15, Prof. Daniels
Methods for representing and manipulating geometric Methods for representing and manipulating geometric p g p g gp g p g gobjects in a computational setting.objects in a computational setting.
Diff ti l G tDiff ti l G tDifferential GeometryDifferential Geometry
ComputerComputer--AidedAidedGeometric DesignGeometric Design
ConstructiveConstructiveSolid Solid GeometryGeometry
Geometric ModelingGeometric ModelingCourtesy of Cadence Design SystemsCourtesy of Cadence Design Systems
GeometryGeometryCourtesy of Stanford UniversityCourtesy of Stanford University
Courtesy of Silicon GraphicsCourtesy of Silicon Graphics
Computational GeometryComputational Geometry
Adapted from:Adapted from: Geometric ModelingGeometric Modeling by Mortensonby Mortenson
Sample Application AreasSample Application Areas
Geographic Geographic Information SystemsInformation Systems& Spatial Databases& Spatial Databases
Medical Medical ImagingImaging
& Spatial Databases& Spatial Databases
CoveringCovering
Computer GraphicsComputer Graphics
VideoVideoGamesGames
Meshing for Meshing for Finite Element AnalysisFinite Element Analysis
Topological Invariant Topological Invariant EstimationEstimation
CADCAD Courtesy of Cadence Design SystemsCourtesy of Cadence Design Systems
Geometric Model ExamplesGeometric Model Examples
Courtesy of Silicon GraphicsCourtesy of Silicon GraphicsCourtesy of Silicon GraphicsCourtesy of Silicon Graphics
Source: MortensonSwept SurfaceConstructive Solid Geometry
Model Examples (continued)Model Examples (continued)
Wireframe and Boundary Representation (BWireframe and Boundary Representation (B--Rep) ModelsRep) ModelsWireframe and Boundary Representation (BWireframe and Boundary Representation (B Rep) ModelsRep) Models
Sources: Hill /Kelley OpenGL and Mortenson
Model Examples (continued)Model Examples (continued)Model Examples (continued)Model Examples (continued)
Unstructured 3D Meshes (Rendered)Unstructured 3D Meshes (Rendered)
Sources: Hill /Kelley OpenGL and Stanford Graphics Lab
Unstructured 3D Meshes (Rendered)Unstructured 3D Meshes (Rendered)
Courtesy of Shu Ye and Cadence Design SystemsCourtesy of Shu Ye and Cadence Design Systems
Meshing for Finite Element AnalysisMeshing for Finite Element Analysis
Model Examples (continued)Model Examples (continued)
Rendered TeapotsRendered Teapotsgenerated using OpenGLgenerated using OpenGL
Courtesy of Silicon GraphicsCourtesy of Silicon Graphics
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: Computer1950’s: Computer--aided design (CAD) and manufacturing (CAM) begins.aided design (CAD) and manufacturing (CAM) begins.
N i ll t ll d (NC) hi ( tti )N i ll t ll d (NC) hi ( tti )•• 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:
•• bicubicbicubic patches, piecewise curves and surfacespatches, piecewise curves and surfacesbicubicbicubic patches, piecewise curves and surfacespatches, piecewise curves and surfaces•• solid modeling: boundary representation (bsolid modeling: boundary representation (b--rep) and constructive solid geometryrep) and constructive solid geometry
•• 1980’s: 1980’s: •• nonuniformnonuniform rational Brational B--splinessplines (NURBS) take root(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
Course IntroductionCourse Introduction
Course DescriptionCourse Description
Web PageWeb Page
http://www.cs.uml.edu/~kdaniels/courses/GEOM_580_S11.html
Nature of the CourseNature of the Course
Elective graduate Computer Science courseElective graduate Computer Science courseTheory and PracticeTheory and Practice
Theory: “PencilTheory: “Pencil--andand--paper” exercisespaper” exercisespractice with objects’ properties and representationspractice with objects’ properties and representations
PracticePracticeProgramsPrograms
Course Structure: 2 PartsCourse Structure: 2 Parts
Advanced TopicsAdvanced Topics(to be determined by student interests)(to be determined by student interests)
FundamentalsFundamentalsMath and representationsMath and representations
SplinesSplinesMeshing Meshing Topological PropertiesTopological Properties
Curves: Bezier, BCurves: Bezier, B--splinesplineSurfaces: Bezier, BSurfaces: Bezier, B--splinesplineSolids: sweep solids CSGSolids: sweep solids CSG Topological PropertiesTopological Properties
Student ProjectsStudent Projects
papers from literaturepapers from literature
Solids: sweep solids, CSG, Solids: sweep solids, CSG, meshing, topological meshing, topological propertiesproperties
Spatial databases (guest Spatial databases (guest lecture)lecture)
Courtesy of Cadence Design SystemsCourtesy of Cadence Design SystemsCourtesy of Silicon GraphicsCourtesy of Silicon Graphics
TextbooksTextbooks
• Required: (see web site for details)•• Geometric Modeling (3Geometric Modeling (3rdrd edition)edition)g (g ( ))
•• by Michael E. by Michael E. MortensonMortenson•• Errata is on Misc. Doc. part of web Errata is on Misc. Doc. part of web
iisitesite•• Curves and Surfaces for CAGD Curves and Surfaces for CAGD
(5(5thth edition)edition)(5(5thth edition)edition)•• By Gerald By Gerald FarinFarin
can be ordered on-line+ conference, journal papers+ conference, journal papers
Computing EnvironmentsComputing Environments
OpenGL C++ graphics library and utilitiesOpenGL C++ graphics library and utilitiesLinux or PCLinux or PCOpen sourceOpen source
Computational Geometry Algorithms Library Computational Geometry Algorithms Library (CGAL) in C++ with templates(CGAL) in C++ with templates(CGAL) in C++ with templates(CGAL) in C++ with templates
Linux or PCLinux or PCOpen sourceOpen source
Guest lecture from UML’s Mechanical Guest lecture from UML’s Mechanical Engineering Dept. with demo of CAD softwareEngineering Dept. with demo of CAD software
PrerequisitesPrerequisites
G d t Al ith (91 503) i t dG d t Al ith (91 503) i t dGraduate Algorithms (91.503) is suggestedGraduate Algorithms (91.503) is suggestedAdditional helpful course backgroundAdditional helpful course background
computational geometry, graphics, visualizationcomputational geometry, graphics, visualizationcomputational 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 CGALp g g pp g g p
Standard CS graduateStandard CS graduate--level math prerequisites:level math prerequisites:calculus, discrete math calculus, discrete math Additional helpful math background:Additional helpful math background:
SetsSets MATHMATH ProofsProofs GeometryGeometry
Linear AlgebraLinear Algebra SummationsSummations TopologyTopology
SetsSets ProofsProofs GeometryGeometry
Syllabus (current plan)Syllabus (current plan)
**
Syllabus (current plan, continued)Syllabus (current plan, continued)
****
** current plancurrent plan
GradingGrading
• No exams• Homework 40%• Literature Reviews 20%
• Lead class discussion• Project 40%Project 40%
HomeworkHomework
11 ThTh 1/27 1/27 ThTh 2/3 Math Basics2/3 Math BasicsHW#HW# AssignedAssigned DueDue ContentContent
ThTh 2/10 OpenGL example 2/10 OpenGL example