ebook img

Computational geometry: algorithms and applications PDF

388 Pages·2008·2.21 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Computational geometry: algorithms and applications

Computational Geometry Third Edition Mark de Berg · Otfried Cheong Marc van Kreveld · Mark Overmars Computational Geometry Algorithms and Applications Third Edition 123 Prof.Dr.MarkdeBerg Dr.MarcvanKreveld DepartmentofMathematics DepartmentofInformation andComputerScience andComputingSciences TUEindhoven UtrechtUniversity P.O.Box513 P.O.Box80.089 5600MBEindhoven 3508TBUtrecht TheNetherlands TheNetherlands [email protected] [email protected] Dr.OtfriedCheong,ne´Schwarzkopf Prof.Dr.MarkOvermars DepartmentofComputerScience DepartmentofInformation KAIST andComputingSciences Gwahangno335,Yuseong-gu UtrechtUniversity Daejeon305-701 P.O.Box80.089 Korea 3508TBUtrecht [email protected] TheNetherlands [email protected] ISBN 978-3-540-77973-5 e-ISBN 978-3-540-77974-2 DOI 10.1007/978-3-540-77974-2 ACMComputingClassification(1998):F.2.2,I.3.5 LibraryofCongressControlNumber:2008921564 ©2008,2000,1997Springer-VerlagBerlinHeidelberg Thisworkissubjecttocopyright.Allrightsarereserved,whetherthewholeorpartofthematerial is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting,reproductiononmicrofilmorinanyotherway,andstorageindatabanks.Duplication ofthispublicationorpartsthereofispermittedonlyundertheprovisionsoftheGermanCopyright LawofSeptember9,1965,initscurrentversion,andpermissionforusemustalwaysbeobtained fromSpringer.ViolationsareliableforprosecutionundertheGermanCopyrightLaw. Theuseofgeneraldescriptivenames,registerednames,trademarks,etc.inthispublicationdoes notimply,evenintheabsenceofaspecificstatement,thatsuchnamesareexemptfromtherelevant protectivelawsandregulationsandthereforefreeforgeneraluse. Coverdesign:KünkelLopka,Heidelberg Printedonacid-freepaper 987654321 springer.com Preface Computational geometry emerged from the field of algorithms design and analysisinthelate1970s. Ithasgrownintoarecognizeddisciplinewithits ownjournals,conferences,andalargecommunityofactiveresearchers. The successofthefieldasaresearchdisciplinecanontheonehandbeexplained fromthebeautyoftheproblemsstudiedandthesolutionsobtained,and,onthe otherhand,bythemanyapplicationdomains—computergraphics,geographic informationsystems(GIS),robotics,andothers—inwhichgeometricalgorithms playafundamentalrole. Formanygeometricproblemstheearlyalgorithmicsolutionswereeither slowordifficulttounderstandandimplement. Inrecentyearsanumberofnew algorithmictechniqueshavebeendevelopedthatimprovedandsimplifiedmany ofthepreviousapproaches. Inthistextbookwehavetriedtomakethesemodern algorithmicsolutionsaccessibletoalargeaudience. Thebookhasbeenwritten asatextbookforacourseincomputationalgeometry,butitcanalsobeusedfor self-study. Structureofthebook. Eachofthesixteenchapters(excepttheintroductory chapter)startswithaproblemarisinginoneoftheapplicationdomains. This problem is then transformed into a purely geometric one, which is solved usingtechniquesfromcomputationalgeometry. Thegeometricproblemandthe conceptsandtechniquesneededtosolveitaretherealtopicofeachchapter.The choiceoftheapplicationswasguidedbythetopicsincomputationalgeometry we wanted to cover; they are not meant to provide a good coverage of the applicationdomains. Thepurposeoftheapplicationsistomotivatethereader; thegoalofthechaptersisnottoprovideready-to-usesolutionsforthem.Having saidthis,webelievethatknowledgeofcomputationalgeometryisimportant tosolvegeometricproblemsinapplicationareasefficiently. Wehopethatour bookwillnotonlyraisetheinterestofpeoplefromthealgorithmscommunity, butalsofrompeopleintheapplicationareas. Formostgeometricproblemstreatedwegivejustonesolution,evenwhen anumberofdifferentsolutionsexist. Ingeneralwehavechosenthesolution thatiseasiesttounderstandandimplement. Thisisnotnecessarilythemost efficientsolution. Wealsotookcarethatthebookcontainsagoodmixtureof techniqueslikedivide-and-conquer,planesweep,andrandomizedalgorithms. Wedecidednottotreatallsortsofvariationstotheproblems;wefeltitismore importanttointroduceallmaintopicsincomputationalgeometrythantogive moredetailedinformationaboutasmallernumberoftopics. v PREFACE Severalchapterscontainoneormoresectionsmarkedwithastar. Theycon- tainimprovementsofthesolution,extensions,orexplaintherelationbetween variousproblems. Theyarenotessentialforunderstandingtheremainderofthe book. EverychapterconcludeswithasectionthatisentitledNotesandComments. Thesesectionsindicatewheretheresultsdescribedinthechapteroriginated, mentionothersolutions,generalizations,andimprovements,andproviderefer- ences. Theycanbeskipped,butdocontainusefulmaterialforthosewhowant toknowmoreaboutthetopicofthechapter. Attheendofeachchapteranumberofexercisesisprovided. Theserange fromeasyteststocheckwhetherthereaderunderstandsthematerialtomore elaboratequestionsthatextendthematerialcovered. Difficultexercisesand exercisesaboutstarredsectionsareindicatedwithastar. Acourseoutline. Eventhoughthechaptersinthisbookarelargelyindepen- dent,theyshouldpreferablynotbetreatedinanarbitraryorder. Forinstance, Chapter2introducesplanesweepalgorithms,anditisbesttoreadthischapter beforeanyoftheotherchaptersthatusethistechnique. Similarly,Chapter4 shouldbereadbeforeanyotherchapterthatusesrandomizedalgorithms. Forafirstcourseoncomputationalgeometry,weadvisetreatingChapters1– 10inthegivenorder. Theycovertheconceptsandtechniquesthat,according tous,shouldbepresentinanycourseoncomputationalgeometry. Whenmore materialcanbecovered,aselectioncanbemadefromtheremainingchapters. Prerequisites. The book can be used as a textbook for a high-level under- graduatecourseoralow-levelgraduatecourse, dependingontherestofthe curriculum. Readersareassumedtohaveabasicknowledgeofthedesignand analysisofalgorithmsanddatastructures: theyshouldbefamiliarwithbig-Oh notations and simple algorithmic techniques like sorting, binary search, and balancedsearchtrees.Noknowledgeoftheapplicationdomainsisrequired,and hardlyanyknowledgeofgeometry. Theanalysisoftherandomizedalgorithms usessomeveryelementaryprobabilitytheory. Implementations. The algorithms in this book are presented in a pseudo- codethat,althoughratherhigh-level,isdetailedenoughtomakeitrelatively easytoimplementthem. Inparticularwehavetriedtoindicatehowtohandle degenerate cases, which are often a source of frustration when it comes to implementing. Webelievethatitisveryusefultoimplementoneormoreofthealgorithms; it will give a feeling for the complexity of the algorithms in practice. Each chaptercanbeseenasaprogrammingproject. Dependingontheamountof timeavailableonecaneitherjustimplementtheplaingeometricalgorithms,or implementtheapplicationaswell. Toimplementageometricalgorithmanumberofbasicdatatypes—points, lines,polygons,andsoon—andbasicroutinesthatoperateonthemareneeded. vi Implementingthesebasicroutinesinarobustmannerisnoteasy,andtakesalot oftime.Althoughitisgoodtodothisatleastonce,itisusefultohaveasoftware PREFACE libraryavailablethatcontainsthebasicdatatypesandroutines. Pointerstosuch librariescanbefoundonourWebsite. Website. ThisbookisaccompaniedbyaWebsite,whichcontainsalistof erratacollectedforeacheditionofthebook,allfiguresandthepseudocodefor allalgorithms,aswellassomeotherresources. Theaddressis http://www.cs.uu.nl/geobook/ YoucanalsousetheaddressgivenonourWebsitetosenduserrorsyou havefound,oranyothercommentsyouhaveaboutthebook. Aboutthethirdedition. Thisthirdeditioncontainstwomajoradditions: In Chapter7,onVoronoidiagrams,wenowalsodiscussVoronoidiagramsofline segmentsandfarthest-pointVoronoidiagrams. InChapter12,wehaveincluded anextrasectiononbinaryspacepartitiontreesforlow-densityscenes,asan introductiontorealisticinputmodels. Inaddition,alargenumberofsmalland some larger errors have been corrected (see the list of errata for the second editionontheWebsite). Wehavealsoupdatedthenotesandcommentsofevery chaptertoincludereferencestorecentresultsandrecentliterature. Wehave triednottochangethenumberingofsectionsandexercises,sothatitshouldbe possibleforstudentsinacoursetostillusethesecondedition. Acknowledgments. Writing a textbook is a long process, even with four authors. Many people contributed to the original first edition by providing usefuladviceonwhattoputinthebookandwhatnot,byreadingchaptersand suggestingchanges,andbyfindingandcorrectingerrors. Manymoreprovided feedbackandfounderrorsinthefirsttwoeditions. Wewouldliketothankallof them,inparticularPankajAgarwal,HelmutAlt,MarshallBern,JitBose,Hazel Everett,GeraldFarin,SteveFortune,Geert-JanGiezeman,MordecaiGolin,Dan Halperin,RichardKarp,MatthewKatz,KlaraKedem,NelsonMax,JosephS.B. Mitchell,Rene´ vanOostrum,Gu¨nterRote,HenryShapiro,SvenSkyum,Jack Snoeyink,GertVegter,PeterWidmayer,CheeYap,andGu¨ntherZiegler. We alsowouldliketothankSpringer-Verlagfortheiradviceandsupportduringthe creationofthisbook,itsneweditions,andthetranslationsintootherlanguages (atthetimeofwriting,Japanese,Chinese,andPolish). FinallywewouldliketoacknowledgethesupportoftheNetherlands’Or- ganizationforScientificResearch(N.W.O.)andtheKoreaResearchFounda- tion(KRF). January2008 MarkdeBerg OtfriedCheong MarcvanKreveld MarkOvermars vii Contents 1 ComputationalGeometry 1 Introduction 1.1 AnExample: ConvexHulls 2 1.2 DegeneraciesandRobustness 8 1.3 ApplicationDomains 10 1.4 NotesandComments 13 1.5 Exercises 15 2 LineSegmentIntersection 19 ThematicMapOverlay 2.1 LineSegmentIntersection 20 2.2 TheDoubly-ConnectedEdgeList 29 2.3 ComputingtheOverlayofTwoSubdivisions 33 2.4 BooleanOperations 39 2.5 NotesandComments 40 2.6 Exercises 41 3 PolygonTriangulation 45 GuardinganArtGallery 3.1 GuardingandTriangulations 46 3.2 PartitioningaPolygonintoMonotonePieces 49 3.3 TriangulatingaMonotonePolygon 55 3.4 NotesandComments 59 3.5 Exercises 60 4 LinearProgramming 63 ManufacturingwithMolds 4.1 TheGeometryofCasting 64 4.2 Half-PlaneIntersection 66 4.3 IncrementalLinearProgramming 71 4.4 RandomizedLinearProgramming 76 ix CONTENTS 4.5 UnboundedLinearPrograms 79 4.6* LinearProgramminginHigherDimensions 82 4.7* SmallestEnclosingDiscs 86 4.8 NotesandComments 89 4.9 Exercises 91 5 OrthogonalRangeSearching 95 QueryingaDatabase 5.1 1-DimensionalRangeSearching 96 5.2 Kd-Trees 99 5.3 RangeTrees 105 5.4 Higher-DimensionalRangeTrees 109 5.5 GeneralSetsofPoints 110 5.6* FractionalCascading 111 5.7 NotesandComments 115 5.8 Exercises 117 6 PointLocation 121 KnowingWhereYouAre 6.1 PointLocationandTrapezoidalMaps 122 6.2 ARandomizedIncrementalAlgorithm 128 6.3 DealingwithDegenerateCases 137 6.4* ATailEstimate 140 6.5 NotesandComments 143 6.6 Exercises 144 7 VoronoiDiagrams 147 ThePostOfficeProblem 7.1 DefinitionandBasicProperties 148 7.2 ComputingtheVoronoiDiagram 151 7.3 VoronoiDiagramsofLineSegments 160 7.4 Farthest-PointVoronoiDiagrams 163 7.5 NotesandComments 167 7.6 Exercises 170 8 ArrangementsandDuality 173 SupersamplinginRayTracing 8.1 ComputingtheDiscrepancy 175 8.2 Duality 177 8.3 ArrangementsofLines 179 x 8.4 LevelsandDiscrepancy 185 8.5 NotesandComments 186 CONTENTS 8.6 Exercises 188 9 DelaunayTriangulations 191 HeightInterpolation 9.1 TriangulationsofPlanarPointSets 193 9.2 TheDelaunayTriangulation 196 9.3 ComputingtheDelaunayTriangulation 199 9.4 TheAnalysis 205 9.5* AFrameworkforRandomizedAlgorithms 208 9.6 NotesandComments 214 9.7 Exercises 215 10 MoreGeometricDataStructures 219 Windowing 10.1 IntervalTrees 220 10.2 PrioritySearchTrees 226 10.3 SegmentTrees 231 10.4 NotesandComments 237 10.5 Exercises 239 11 ConvexHulls 243 MixingThings 11.1 TheComplexityofConvexHullsin3-Space 244 11.2 ComputingConvexHullsin3-Space 246 11.3*TheAnalysis 250 11.4*ConvexHullsandHalf-SpaceIntersection 253 11.5*VoronoiDiagramsRevisited 254 11.6 NotesandComments 256 11.7 Exercises 257 12 BinarySpacePartitions 259 ThePainter’sAlgorithm 12.1 TheDefinitionofBSPTrees 261 12.2 BSPTreesandthePainter’sAlgorithm 263 12.3 ConstructingaBSPTree 264 12.4*TheSizeofBSPTreesin3-Space 268 12.5 BSPTreesforLow-DensityScenes 271 12.6 NotesandComments 278 12.7 Exercises 279 xi

Description:
Computational geometry emerged from the ?eld of algorithms design and analysis in the late 1970s. It has grown into a recognized discipline with its own journals, conferences, and a large community of active researchers. The success of the ?eld as a research discipline can on the one hand be explain
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.