Download - Supporting Apparel Manufacturing
UMass Lowell Computer Science 91.504 Advanced Algorithms
Computational Geometry Prof. Karen Daniels
Spring, 2007
UMass Lowell Computer Science 91.504 Advanced Algorithms
Computational Geometry Prof. Karen Daniels
Spring, 2007
Lecture 1Lecture 1
Course IntroductionCourse Introduction
Course IntroductionCourse Introduction
What is What is
Computational Geometry?Computational Geometry?
Advanced AlgorithmsComputational Geometry
Advanced AlgorithmsComputational Geometry
TelecommunicationsTelecommunications
VisualizationVisualization
91.504
ManufacturingManufacturing
Computer Computer GraphicsGraphics
Design Analyze
Apply
CADCAD
Sample Application AreasSample Application Areas
Computer GraphicsComputer Graphics
Geographic Geographic Information SystemsInformation Systems
RoboticsRobotics
BioinformaticsBioinformatics
AstrophysicsAstrophysics
Medical Medical ImagingImaging
TelecommunicationsTelecommunications
Data Mining & Data Mining & VisualizationVisualization
Typical ProblemsTypical Problems
bin packingbin packing
Voronoi diagramVoronoi diagram simplifying simplifying
polygonspolygons
shape similarityshape similarity
convex hullconvex hull
maintaining line maintaining line arrangementsarrangements
polygon partitioningpolygon partitioning nearest neighbor nearest neighbor
searchsearch
kd-treeskd-trees
SOURCESOURCE: Steve Skiena’s Algorithm Design Manual : Steve Skiena’s Algorithm Design Manual
(for problem descriptions, see graphics gallery at (for problem descriptions, see graphics gallery at http://www.cs.sunysb.edu/~algorith))
Common Computational Geometry StructuresCommon Computational Geometry Structures
Voronoi DiagramVoronoi DiagramConvex HullConvex Hull
New PointNew Point
source: O’Rourke, Computational Geometry in Csource: O’Rourke, Computational Geometry in C
Delaunay TriangulationDelaunay Triangulation
Sample Tools of the TradeSample Tools of the Trade
Algorithm Design Patterns/Techniques:Algorithm Design Patterns/Techniques:binary searchbinary search divide-and-conquerdivide-and-conquer dualitydualityrandomizationrandomization sweep-linesweep-linederandomizationderandomization parallelismparallelism
Algorithm Analysis Techniques:Algorithm Analysis Techniques:asymptotic analysis, amortized analysisasymptotic analysis, amortized analysis
Data Structures:Data Structures:winged-edge, quad-edge, winged-edge, quad-edge, range tree, kd-treerange tree, kd-tree
Theoretical Computer ScienceTheoretical Computer Science principles:principles:NP-completeness, hardnessNP-completeness, hardness
Growth of FunctionsGrowth of Functions
SummationsSummations
RecurrencesRecurrences
SetsSets
ProbabilityProbability
MATHMATH ProofsProofs GeometryGeometry
Graph TheoryGraph TheoryCombinatoricsCombinatorics
Linear AlgebraLinear Algebra
Computational Geometryin Context
Computational Geometryin Context
TheoreticalTheoreticalComputerComputer
ScienceScience
Applied Computer ScienceApplied Computer Science
AppliedAppliedMathMath
GeometryGeometry
ComputationalComputationalGeometryGeometry
Efficient Efficient Geometric AlgorithmsGeometric Algorithms
Design Analyze
Apply
Course IntroductionCourse Introduction
Course DescriptionCourse Description
Web PageWeb Page
http://www.cs.uml.edu/~kdaniels/courses/ALG_504.html
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 design an algorithmdesign an algorithm analyze its complexityanalyze its complexity modify an existing algorithmmodify an existing algorithm prove propertiesprove properties
PracticePractice ProgramsPrograms Real-world examplesReal-world examples
Course Structure: 2 PartsCourse Structure: 2 Parts
BasicsBasicsPolygon TriangulationPolygon Triangulation
PartitioningPartitioning
Convex HullsConvex Hulls
Voronoi DiagramsVoronoi Diagrams
ArrangementsArrangements
Search/IntersectionSearch/Intersection
Motion PlanningMotion Planning
Advanced TopicsAdvanced Topics (sample topics)(sample topics)
(may change based on student interests)(may change based on student interests)
Covering Covering
ClusteringClustering
PackingPacking Geometric ModelingGeometric Modeling
Topological EstimationTopological Estimation
papers from literaturepapers from literature
TextbookTextbook
Required: Computational Geometry in CComputational Geometry in C
second editionsecond edition by Joseph O’Rourkeby Joseph O’RourkeCambridge University PressCambridge University Press19981998 see course web site for ISBN number(s) & errata listsee course web site for ISBN number(s) & errata list
can be ordered on-line
Web Site: http://cs.smith.edu/~orourke/books/compgeom.html
+ conference, journal papers+ conference, journal papers
Textbook Java Demo AppletTextbook Java Demo Applet
Code functionCode function Chapter pointerChapter pointer directorydirectory----------------------------------------------------------------------------------------------------------TriangulateTriangulate Chapter 1, Code 1.14Chapter 1, Code 1.14 /tri/tri
Convex Hull(2D)Convex Hull(2D) Chapter 3,Chapter 3, Code 3.8Code 3.8 /graham/graham
Convex Hull(3D)Convex Hull(3D) Chapter 4, Code 4.8Chapter 4, Code 4.8 /chull/chullsphere.csphere.c Chapter 4, Fig. 4.15Chapter 4, Fig. 4.15 /sphere/sphereDelaunay Triang Delaunay Triang Chapter 5, Code 5.2Chapter 5, Code 5.2 /dt/dtSegSegIntSegSegInt Chapter 7, Code 7.2Chapter 7, Code 7.2 /segseg/segsegPoint-in-polyPoint-in-poly Chapter 7, Code 7.13Chapter 7, Code 7.13 /inpoly/inpolyPoint-in-hedronPoint-in-hedron Chapter 7, Code 7.15Chapter 7, Code 7.15 /inhedron/inhedronInt Conv PolyInt Conv Poly Chapter 7, Code 7.17Chapter 7, Code 7.17 /convconv/convconvMink ConvolveMink Convolve Chapter 8, Code 8.5Chapter 8, Code 8.5 /mink/minkArm Move Arm Move Chapter 8, Code 8.7Chapter 8, Code 8.7 /arm/arm
http://cs.smith.edu/~orourke/books/CompGeom/CompGeom.html
PrerequisitesPrerequisites
Graduate Algorithms (91.503)Graduate Algorithms (91.503) Coding experience in C, C++Coding experience in C, C++
Project coding may be done in Java if desiredProject coding may be done in Java if desired Standard CS graduate-level math Standard CS graduate-level math
prerequisites + high school Euclidean prerequisites + high school Euclidean geometrygeometry additional helpful math background:additional helpful math background:
linear algebra, topologylinear algebra, topology
Growth of FunctionsGrowth of Functions
SummationsSummations
RecurrencesRecurrences
SetsSets
ProbabilityProbability
MATHMATHProofsProofs GeometryGeometry
Syllabus (current plan)Syllabus (current plan)
Syllabus (current plan)Syllabus (current plan)
Important DatesImportant Dates
Midterm Exam:Midterm Exam: Wednesday, 3/7Wednesday, 3/7 Open books, open notesOpen books, open notes
Final Exam:Final Exam: nonenone
If you have conflicts with exam date, please notify me as soon as possible.If you have conflicts with exam date, please notify me as soon as possible.
GradingGrading
Homework 35% Project 35% Midterm (O’Rourke) 30% (open book,
notes )
**
*Some project writeups may be eligible for submission *Some project writeups may be eligible for submission to a computational geometry conference.to a computational geometry conference.
Machine AccountsMachine Accounts
Each student will have an account on my machine: Each student will have an account on my machine: minkowski.cs.uml.edu.minkowski.cs.uml.edu.
Username will be the same as your username on CS. Username will be the same as your username on CS. Password will be your initials followed by the last 5 Password will be your initials followed by the last 5
digits on the bottom right hand corner of the back of digits on the bottom right hand corner of the back of your student id card.your student id card.
To remotely log in, use a secure shell (e.g. ssh).To remotely log in, use a secure shell (e.g. ssh). To transfer files, use a secure FTP (e.g. sftp).To transfer files, use a secure FTP (e.g. sftp). LEDA and CGAL libraries are on minkowski.LEDA and CGAL libraries are on minkowski.
HomeworkHomework
11 W 1/24 W 1/24 W 2/7 O’Rourke Chapter 1 W 2/7 O’Rourke Chapter 1
HW#HW# AssignedAssigned DueDue ContentContent
Course IntroductionCourse Introduction
My Computational Geometry ResearchMy Computational Geometry Research
My Previous Applied Algorithms ResearchMy Previous Applied Algorithms Research
VLSI Design:VLSI Design: Custom layout Custom layout
algorithms for silicon algorithms for silicon compilercompiler
Geometric Modeling:Geometric Modeling: Partitioning cubic B-Partitioning cubic B-
spline curvesspline curves
Manufacturing:Manufacturing: see taxonomy on next see taxonomy on next
slideslide
Taxonomy of ProblemsSupporting Apparel Manufacturing
Taxonomy of ProblemsSupporting Apparel Manufacturing
Ordered Ordered ContainmentContainment
Geometric RestrictionGeometric Restriction
Distance-Based Distance-Based SubdivisionSubdivision
Maximum Maximum RectangleRectangle
Limited GapsLimited Gaps
Minimal Minimal EnclosureEnclosure
Column-Based LayoutColumn-Based LayoutTwo-Phase LayoutTwo-Phase Layout
Lattice Lattice PackingPacking
ContainmentContainment
Maximal CoverMaximal Cover
My Applied Algorithms Research Focus at UMass Lowell
My Applied Algorithms Research Focus at UMass Lowell
TelecommunicationsTelecommunications
Data Mining, Data Mining, Visualization, Visualization, BioinformaticsBioinformatics
ManufacturingManufacturing
Design Analyze
Apply
for for covering, assignment, clustering, packing, layoutcovering, assignment, clustering, packing, layout
feasibility, optimization problemsfeasibility, optimization problems
CADCAD