Determining Differences between Two Sets of Polygons

Size: px
Start display at page:

Download "Determining Differences between Two Sets of Polygons"

Transcription

1 Determining Differences between Two Sets of Polygons MATEJ GOMBOŠI, BORUT ŽALIK Institute for Computer Science Faculty of Electrical Engineering and Computer Science, University of Maribor Smetanova 7, SI-000 Maribor SLOVENIA Abstract: - In this article, a new algorithm for determining differences between two sets of polygons is considered. It has been proven that it is enough to test only the polygon edges to perform the comparison. The algorithm works in two steps. First, the polygon edges are inserted into data structure and eliminated by a simple criterion. In the second part, the algorithm analyses the remaining edges and prepares a report about the detected differences. To speed-up the geometric search, the algorithm uses a combination of a uniform space subdivision and binary searching trees. It has been shown that the algorithm is numerically stable, and works well also with the limited set of non-simple polygons occurring in practice. The algorithm's time complexity is O(n log n), and space complexity O(n), where n is the common number of edges in both sets of polygons. That has been confirmed by experiments using data sets from a land cadastre. Key-Words Geographical information systems (GIS), polygons, polygon comparison, computational geometry, algorithm. Introduction In this paper we discuss an algorithm for the problem that appears frequently in the land cadastre. As the land cadastre is changing during the time (parcels are split, merged or their textual attributes are updated), the land owners, the authorities supervising the cadastral information, and the companies developing GIS solutions, are many times interested in changes occurring during the time. Figure shows a typical example of cadastral data. Although the left and the right set of polygons seem completely identical, there are 993 geometrical differences. each polygon of the first set with all polygons in the second set, resulting in O(n ) time complexity (n means the number of polygons). Better solution would be to determine the Boolean intersection upon two sets of polygons using sweep-line technique [5],[]. However, polygons in land cadastre coincide along the edges, which represents the boundary case for Boolean operations. In this paper, an alternative approach to determining the differences between two sets of polygons is introduced. As will be shown, the algorithm is fast and easy to implement. Background Definition : Let us have n points p 0, p,..., p n- in the plane and let us connect them by n line segments l 0 = p 0 p, l = p p,..., l n- = p n- p 0. They describe a simple polygon if [7]: point p i is a junction of exactly two line segments, non-neighbouring edges do not intersect neither touch. Figure : Two sets of different polygons. By the knowledge of authors, this problem has not been considered adequately up to now. The simplest solution would be to use the brute force algorithm comparing Points p i, where line segments meet, are usually considered as vertices (v i ), and the line segments as edges (e i ). Any simple polygon splits the plane into two domains, a bounded interior and the unbounded exterior, if it does

2 not contain holes. Otherwise, the plane is divided into finite number of domains, among which only one is unbounded. A closed sequence of edges bordering the bounded domain and the unbounded one is known as a loop L [6]. The holes are also described by the closed sequence of edges named rings (R i, 0 i < r, where r is the number of rings in the polygon). The rings can be nested. Polygons violating these conditions are considered as non-simple polygons. The majority of algorithms in computer graphics and computational geometry require simple polygons at the input. However, in some applications (e.g., GIS), the set of simple polygons is not sufficient to describe all possible cases. Therefore, a set of so-called legal polygons has been introduced by Žalik []. For the purpose of this application, the definition is modified a bit. Definition : The polygon is legal, if it consists of one or finite number of simple polygons, or if at polygon vertices more than two edges meet. In figure a and b the legal polygons are shown. Figure a shows an example of a polygon consisting of three loops. This situation can be found in land cadastre when a parcel is split in more pieces by a street, for example. In figure b at some polygon's vertices more than two edges meet. The polygon in figure c is non-simple and non-legal, because its edges have a common point, which is not a polygon vertex. v 8 v v 0 v 6 v 3 v 7 v 5 v 9 v 7 v 8 v 6 v v 4 v 0 v v 0 a) b) c) Figure : Legal (a, b) and non-legal polygon (c). Let us have two sets of polygons Φ = {P 0, P,, P ϕ } and Θ = {Q 0, Q,, Q θ }, and let us denote set of all edges existing in Φ and Θ as E Φ and E Θ. Let us define: Definition 3: Edge e iφ = v i, v i, from E Φ and edge e jθ = v j, v j, from E Θ are twins if { v i,, v i, }= { v j,, v j, }. Definition 4: Two sets of polygons are equivalent if every edge from set E Φ has its twin in E Θ and vice versa. Let us suppose edges e iφ from E Φ and e iθ from E Θ are twins. If they are not, they differ in at least one position v 5 v 4 v 3 v v 3 v v of their vertices. In this case E Φ E Θ and therefore, Φ and Θ are different. Using Definition 4, it is easy to see that the problem of determining whether two sets of polygons are equivalent can be transformed to the search of twin edges regardless of any other polygon information. The polygons can even be non-legal and non-simple for that conclusion. In the application mentioned in the introduction, we know that the set of polygons Θ has been derived from the set Φ. We are not interested only in whether two sets are the same or not, but we would like to know, which polygons (parcels) have been changed. 3 The algorithm The algorithm for determining the differences between two sets of polygons works in three steps: initialization of the geometric searching structure, elimination of twin edges, and analysis of the remaining edges. 3. Initialization of the geometric searching structure One of the most basic tasks of the computational geometry is determination, whether two geometric entities are the same. Best results are achieved when some computer memory is dedicated for the adequate geometric searching data structure. There are two main ideas, how this should be done: Uniform plane subdivision splits the area of interest into equally sized cells [8]. It has been shown that the answer about presence of a geometric entity could be returned in a constant time O(), if the number of cells is large enough []. However, in practice this cannot be always assured, especially, if the number of the elements is huge, and if they are distributed highly non-uniformly. Despite that, the uniform plane subdivision remains among the most favourite speed-up techniques applied at many geometric problems[],[3],[4]). When highly non-uniform distribution of the data is expected, hierarchical plane subdivisions become attractive. There are different ideas about organization of the data, as for example quad trees, K-D trees, or BSP trees (see for a large collection of possibilities in [9],[0]. All the operations and the queries require logarithmic time and their implementation is a bit more complicated, too. A combination of both approaches is used in proposed algorithm. The area where the polygons are located is split into equally sized cells at first. Edges in each cell are stored in a binary searching tree, which is organized

3 according to the smallest x coordinate of both vertices. In this way, we reduce the drawback of the uniform space subdivision when non-uniform distribution of the input data is expected and the depth of an individual searching tree is reduced. Figure 3 schematically shows the organization of the data structure for the geometric search. Figure 3: Geometric data storage. The most interesting question when using the uniform space subdivision is a suitable selection of the number and the size of the cells. One could guess: more cells, better results. However, that is only partially true. Larger number of cells requires longer initialization time and consumes more memory. Therefore, different simple heuristics have been proposed to construct the most suitable uniform plane subdivision [3]. We calculate the number of cells (equation ()) by taking into consideration an expected number of edges inside a set (n), and the shape of the bounding box (ratio) surrounding the polygons. NoOfCells = ratio n n NoOfCells = x y ratio () As we do not want to count all the edges at the initial stage of the algorithm, their number has been estimated as shown in equation (). The constant 8.5 has been obtained by considering over 5 million parcels of the national land cadastre. n = 8. 5NoOfPolygo ns () taking the polygons one after another. The edges of the polygon are inserted into described data structures. Every edge is equipped with the following data: Coordinates of both edge vertices. Information about the polygons to which the edge belongs: o polygon indices, o flags indicating to which polygon set the edge belongs, o if the edge is part of a ring, the following additional data are stored: index of the parent polygon, consecutive number of the hole inside parent polygon. Edge counter (EC) identifies how many times the edge has been met. Its role will be explained later. In a land cadastre, the holes in polygons are usually not empty, because other parcels cover them. Figure 4 shows a common example. The loop of the polygon P, covers all edges of the ring R 0,0 in polygon P 0. The parent index of the ring edges would in this case be 0. P 0 P R Figure 4: Polygon information. After processing the first set of polygons, all edges are waiting in our data structure. Those edges being met only once are located on the border of the set of polygons, while the inner edges are visited twice. Edge counter EC stores these values (figure 5 shows an example). 0,0 Variable ratio stores the ratio of the sides of the bounding box (equation (3)). x max x min ratio = (3) y max y min The size of the cells is now simply determined as shown in equation (4): CellSize x xmax xmin = NoOfCells x CellSize y ymax ymin = (4) NoOfCells 3. Elimination of twin edges At first, the algorithm uses the data in the first file, y Figure 5: Interior and outer border edges. After that, the polygons from the second set are being used. The algorithm solves concurrently two main tasks:. It examines what changes occur in the geometrical part of parcel descriptions. 3

4 . It checks the associated non-geometric information. Because of that, we have to get the identifier of the corresponding polygon being located in the first set. Let us suppose we are processing polygon Q i from the second set Θ. The edges of Q i are inserted one by one into data structure. There are two possibilities:. The edge does not exist in the data structure. In this case, a new edge equipped by all the necessary information is inserted.. The edge meets its twin. The information found in the corresponding record is extended with the information carried by the considered edge, and after that, the edge counter is increased. Let us clarify the actions using a few simple examples. In figure 6, two sets Φ and Θ of identical polygons exists. The set Φ has already been processed, and let us suppose, we start with polygon Q 0 from set Θ. The algorithm easily discovers that all the edges of Q 0 meet their twins in data structure. The ECs of those edges are increased and have the value 3 now. As mentioned, we also have to access the covered polygon in set Φ to check the textual information. Each vertex stores the pointers to at most two polygons from set Φ. In our case, we would obtain the following list for pairs of pointers to polygons P 0 P 4, P P 4, P P 4, and P3P4. Actually, the algorithm remembers only the first obtained pair and compares it with the arriving pairs. As soon as two different pairs are obtained, the polygon pointer pointing to the same polygon represents the solution. If the pair represents the border edge of the polygon set, it points exactly to the searched polygon. In our case, the searched polygon is P 4. It is easy to compare the associated textual information of both polygons (Q 0 and P 4 ) and report differences. P P0 P4 Q0 Q P3 Figure 6: Two sets of identical polygons. A special case when determining the covered polygon appears at legal polygons (see section ). Figure 7 shows such an example. It consists of three polygons. Polygon P 0 is not simple, because at vertex v more than two edges meet. Polygon P 0 contains only one ring (R 0,0 ), which coincides with the loop of polygon P. The polygon P fills the empty space caused by the legal Q Q3 P Q4 loop of polygon P 0. The second set Θ contains exactly the same polygons as the first set. In this case, problems occur at determination of the identifier of the polygon P. Namely, all pairs of pointers to polygons are the same (P 0 and P ). If that happens, the bounding boxes of both polygons are compared and the wrong polygon is easily eliminated. Similar situation appears with the polygons covering the holes (see polygon P and ring R 0,0 in figure 7). All the edges belonging to the ring are common to polygon P 0 and P. However, this time the edges of polygon P 0 carry the information that they also belong to the hole and therefore, P is easily selected. P0 v P Figure 7: Determination of the covered polygon. In the case that not all polygons are the same, edge counter EC takes the values presented in table. EC Actions needed edge was not covered and has to be analysed if edge is the border edge of the data set (it has only one polygon pointer), it should be removed, otherwise, it has to be analysed 3 edge has to be analysed 4 edge should be removed Table : The meaning of edge counter. Figure 8 shows some characteristic possibilities. The input sets are shown in figures 8a in 8b, while figure 8c shows the values of EC. Let us analyze the remaining edges. All edges of polygon Q 0 have the value EC =. This means, that Q 0 has been added and that it has no common edges with the rest of polygons in Θ. Similarly, we also know that such polygon has been erased if it existed in Φ. Very similar case appears, when some edges of the same polygon have EC = 3 and some (edges of polygons Q 3 and Q 5 ). In this case, the polygon has been added (erased), but this time it is connected with the other polygons from the set. However, these situations are a generalisation of the problem and should not normally occur in land cadastre. The next two examples are characteristic for land cadastre operations. All the remaining edges have EC =. The remaining edge, which has border polygons P 4 R0,0 P 4

5 and P 5 indicates merging of these two polygons. This edge has pointers to two different polygons from the first set. Similarly, the remaining edges between Q 3 and Q 4 denote splitting. The edges have two pointers to two polygons in the second set. P 5 P4 P P0 P P3 Q0 Q7 Q Q6 Q Q4 a) b) c) Figure 8: Differences analysis: the input (a, b) and output (c). 4 Time and space complexity estimation Let us suppose there are ϕ polygons in the first set having n edges, and θ polygons in the second set with m edges. We can suppose m n. At first, cells of the uniform subdivision are allocated. This is done according to equation (), and therefore, the initialization is done in linear time O(n). For every edge, the insertion into data structure is done in a logarithmic time, because binary tree is used for storing the edges. The average number of edges in a cell is only c, where c tends to in the case of uniform distribution of data. However, in the worst case, all edges except one are located in one cell, and then c = n. Therefore, the total time for inserting all edges is T(n) = O(n log n). Adequately, the processing of the second polygon set is estimated with O(n log n), too. At the end, there are k n edges in the data structure. Each is accessible in the logarithmic time. By the stored information, every edge is processed in a constant time, and therefore this is also finished in O(n log n). However, if both sets are completely the same, this step is not needed at all, because k = 0. Therefore, we can conclude that the time complexity of the presented algorithm is O(n log n). 3 Q3 Q5 In the worst case, we have to store every edge from both sets. For that we need O(n) memory locations. The analysis of the edges does not require additional space. Therefore, the algorithm solves the given task with linear space complexity O(n). In the continuation we give the actual run times of the algorithm while solving our testing data sets. The polygon sets present the real data from a GIS database. Here, three pairs of sets of polygons are tested and table introduces the basic information about them. Table 3 gives used number of cells (NoOfCells x, NoOfCells y ) of the uniform plane subdivision, and spent CPU time for individual steps of the algorithm. Each data set has been measured three times with minor deviation in spent CPU time (up to 4%). It is interesting to see, how efficient the proposed heuristic introduced in subsection 3. is. Table 4 gives the total spent CPU time and used amount of memory for the third pair of polygon sets regarding the number of cells of the uniform plane subdivision. As seen, the shortest CPU time is achieved when number of cells obtained by the heuristic is applied (graph in figure 9a gives graphical representation). As mentioned before, larger number of cells does not mean faster execution time of the algorithm as too much time is spent on memory allocation and initialisation of the huge number of cells. Clearly, memory requirement is almost linearly dependent on number of cells as shown in figure 9b. Table 5 and figure 0 show the influence of varying the parameter for average number of polygon edges. The results confirm that the estimation is adequate. Parameter Pair Pair Pair 3 Num. of polygons in each set Num. of edges in each set Num. of changed polygons (geometry) Num. of changed polygons (attributes) Num. of changed edges Table : Information about the input sets. Parameter Pair Pair Pair 3 (NumOfCells x, NumOfCells y ) adding edges (. set) adding edges (. set) ESRI files access total.3..5 Table 3: CPU time (s) for testing pair of polygons. Let us also consider the memory complexity. As already mentioned, for the uniform grid, O(n) cells are needed. 5

6 Size of UPS CPU time Memory = = = = = = = = Table 4: CPU time (s) and memory requirements (Mb). Estimated number of polygon edges CPU time ( 97) (56 484) (956 84).5 0 (4 969).8 5 ( ) (49 939) 30. Table 5: CPU time for estimated number of edges. CPU Time [s] Memory [Mb] 34,00 3,00 30,00 8,00 6,00 4,00,00 0,00 0,0 0,5,0,5,0,5 3,0 3,5 4,0 4,5 5,0 5,5 6,0 Number of cells (in Millions) ,0 0,5,0,5,0,5 3,0 3,5 4,0 4,5 5,0 5,5 6,0 a) Number of cells (in Millions) Figure 9: CPU time (a) and memory requirement (b). CPU Time [s] b) Estimated number of edges Figure 0: Estimated number of polygon edges.. 5 Conclusion The paper introduces a new algorithm for comparing two sets of polygons. An efficient algorithm has been obtained by reducing the comparison of two polygon sets to their edges. An efficient data structure has been proposed consisting of the uniform plane subdivision at the first level, and the binary searching trees at the second. For the uniform plane subdivision, adequate heuristics have been introduced. The heuristics have been confirmed by experiments, too. The theoretical estimation for the worst case time complexity of the geometric part of the algorithm is O(n log n) and space complexity O(n), where n is the number of polygon edges. The algorithm copes well also with the limited set of non-simple polygons (named legal polygons), which appear occasionally in practice. Their existence does not slow down the algorithm neither spoils its stability. The algorithm has been used successfully in practice. References: [] Bentley, J., Weide, B., Andrew, C., Optimal Expected-Time Algorithms for the Closest Point Problems, ACM Transaction on Mathematical Software, Vol. 6, No. 4, 980, pp [] Brobst, S., Grant, S., Thompson, F., Partitioning Very Large Database Tables with Oracle8. Oracle Magazine, Vol., No., 999, pp [3] Fang, T., Piegl, L., Delaunay Triangulation Using a Uniform Grid. IEEE Computer Graphics & Applications, Vol. 3, No. 3, 993, pp [4] Fujimoto, A., Tanaka, T., Iwata, K., ARTS: Accelerated Ray-Tracing System. IEEE Computer Graphics & Applications, Vol. 6, No. 4, 986, pp [5] [6] Mortenson, M., Geometric Modelling, John Wiley, 985. [7] O Rourke, J., Computational Geometry in C, Cambridge University Press, 993. [8] Preparata, F., Shamos, M., Computational Geometry: An Introduction, Springer, 985. [9] Samet, H., The Design and Analysis of Spatial Data Structures, Addison Wesley, 989. [0] Samet, H., Applications of Spatial Data Structures, Addison Wesley, 990. [] Vatti, B., A generic solution to polygon clipping. Communications of the ACM, Vol. 35, No. 7, 99, pp [] Žalik, B., Merging a set of polygons. Computers & Graphics, Vol. 5, No., 00, pp The algorithm has been written in C++, and tested on a PC with Intel Celeron 300 MHz processor, and Gbytes RAM under Windows 000 operating system. 6

Proceedings of the 5th WSEAS International Conference on Telecommunications and Informatics, Istanbul, Turkey, May 27-29, 2006 (pp )

Proceedings of the 5th WSEAS International Conference on Telecommunications and Informatics, Istanbul, Turkey, May 27-29, 2006 (pp ) A Rapid Algorithm for Topology Construction from a Set of Line Segments SEBASTIAN KRIVOGRAD, MLADEN TRLEP, BORUT ŽALIK Faculty of Electrical Engineering and Computer Science University of Maribor Smetanova

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie

More information

layers in a raster model

layers in a raster model layers in a raster model Layer 1 Layer 2 layers in an vector-based model (1) Layer 2 Layer 1 layers in an vector-based model (2) raster versus vector data model Raster model Vector model Simple data structure

More information

Algorithms for GIS:! Quadtrees

Algorithms for GIS:! Quadtrees Algorithms for GIS: Quadtrees Quadtree A data structure that corresponds to a hierarchical subdivision of the plane Start with a square (containing inside input data) Divide into 4 equal squares (quadrants)

More information

Spatial Data Structures

Spatial Data Structures Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) [Angel 9.10] Outline Ray tracing review what rays matter? Ray tracing speedup faster

More information

A General Algorithm for Triangular Meshes Simplification

A General Algorithm for Triangular Meshes Simplification Proceedings of the 11th WSEAS International Conference on COMPUTERS, Agios Nikolaos, Crete Island, Greece, July 26-28, 2007 613 A General Algorithm for Triangular Meshes Simplification BOŠTJAN PIVEC University

More information

A General Simplification Algorithm

A General Simplification Algorithm A General Simplification Algorithm Boštjan Pivec, Vid Domiter Abstract In this article a new general algorithm for triangular mesh simplification is proposed. The algorithm extends Krivograd's work from

More information

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University Ray Tracing III Wen-Chieh (Steve) Lin National Chiao-Tung University Shirley, Fundamentals of Computer Graphics, Chap 10 Doug James CG slides, I-Chen Lin s CG slides Ray-tracing Review For each pixel,

More information

RAY-TRACING WITH UNIFORM SPATIAL DIVISION:PRACTICE

RAY-TRACING WITH UNIFORM SPATIAL DIVISION:PRACTICE RAY-TRACING WITH UNIFORM SPATIAL DIVISION:PRACTICE PROGRAMAÇÃO 3D MEIC/IST PROF. JOÃO MADEIRAS PEREIRA Bibliography Chapter 22, Ray-Tracing From The Ground Up ; Kevin Suffern, including images Articles:

More information

Spatial data structures in 2D

Spatial data structures in 2D Spatial data structures in 2D 1998-2016 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ Spatial2D 2016 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 34 Application

More information

Ray Tracing Acceleration Data Structures

Ray Tracing Acceleration Data Structures Ray Tracing Acceleration Data Structures Sumair Ahmed October 29, 2009 Ray Tracing is very time-consuming because of the ray-object intersection calculations. With the brute force method, each ray has

More information

Ray Tracing with Spatial Hierarchies. Jeff Mahovsky & Brian Wyvill CSC 305

Ray Tracing with Spatial Hierarchies. Jeff Mahovsky & Brian Wyvill CSC 305 Ray Tracing with Spatial Hierarchies Jeff Mahovsky & Brian Wyvill CSC 305 Ray Tracing Flexible, accurate, high-quality rendering Slow Simplest ray tracer: Test every ray against every object in the scene

More information

Chapter 7 Spatial Operation

Chapter 7 Spatial Operation 7.1 Introduction Chapter 7 Spatial Operation Q: What is spatial operation? A: Spatial operation is computational manipulation of spatial objects that deepen our understanding of spatial phenomena. In spatial

More information

6. Concluding Remarks

6. Concluding Remarks [8] K. J. Supowit, The relative neighborhood graph with an application to minimum spanning trees, Tech. Rept., Department of Computer Science, University of Illinois, Urbana-Champaign, August 1980, also

More information

A Distributed Approach to Fast Map Overlay

A Distributed Approach to Fast Map Overlay A Distributed Approach to Fast Map Overlay Peter Y. Wu Robert Morris University Abstract Map overlay is the core operation in many GIS applications. We briefly survey the different approaches, and describe

More information

Shapefile Overlay Using a Doubly-Connected Edge List

Shapefile Overlay Using a Doubly-Connected Edge List Shapefile Overlay Using a Doubly-Connected Edge List Phil Katz and Stephen St.Vincent Swarthmore College 500 College Ave. Swarthmore, PA 19081 [pkatz1, sstvinc2]@swarthmore.edu Abstract We present a method

More information

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem Chapter 8 Voronoi Diagrams 8.1 Post Oce Problem Suppose there are n post oces p 1,... p n in a city. Someone who is located at a position q within the city would like to know which post oce is closest

More information

Spatial Data Structures

Spatial Data Structures CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration

More information

Spatial Data Structures

Spatial Data Structures CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/

More information

COMPUTING CONSTRAINED DELAUNAY

COMPUTING CONSTRAINED DELAUNAY COMPUTING CONSTRAINED DELAUNAY TRIANGULATIONS IN THE PLANE By Samuel Peterson, University of Minnesota Undergraduate The Goal The Problem The Algorithms The Implementation Applications Acknowledgments

More information

EULER S FORMULA AND THE FIVE COLOR THEOREM

EULER S FORMULA AND THE FIVE COLOR THEOREM EULER S FORMULA AND THE FIVE COLOR THEOREM MIN JAE SONG Abstract. In this paper, we will define the necessary concepts to formulate map coloring problems. Then, we will prove Euler s formula and apply

More information

Efficient Clipping of Arbitrary Polygons

Efficient Clipping of Arbitrary Polygons Efficient lipping of Arbitrary Polygons Günther Greiner Kai Hormann omputer Graphics Group, University of Erlangen Abstract lipping 2D polygons is one of the basic routines in computer graphics. In rendering

More information

Computational Geometry

Computational Geometry Motivation Motivation Polygons and visibility Visibility in polygons Triangulation Proof of the Art gallery theorem Two points in a simple polygon can see each other if their connecting line segment is

More information

Solid Modelling. Graphics Systems / Computer Graphics and Interfaces COLLEGE OF ENGINEERING UNIVERSITY OF PORTO

Solid Modelling. Graphics Systems / Computer Graphics and Interfaces COLLEGE OF ENGINEERING UNIVERSITY OF PORTO Solid Modelling Graphics Systems / Computer Graphics and Interfaces 1 Solid Modelling In 2D, one set 2D line segments or curves does not necessarily form a closed area. In 3D, a collection of surfaces

More information

Study on Delaunay Triangulation with the Islets Constraints

Study on Delaunay Triangulation with the Islets Constraints Intelligent Information Management, 2010, 2, 375-379 doi:10.4236/iim.2010.26045 Published Online June 2010 (http://www.scirp.org/journal/iim) Study on Delaunay Triangulation with the Islets Constraints

More information

Line segment intersection. Family of intersection problems

Line segment intersection. Family of intersection problems CG Lecture 2 Line segment intersection Intersecting two line segments Line sweep algorithm Convex polygon intersection Boolean operations on polygons Subdivision overlay algorithm 1 Family of intersection

More information

1. Meshes. D7013E Lecture 14

1. Meshes. D7013E Lecture 14 D7013E Lecture 14 Quadtrees Mesh Generation 1. Meshes Input: Components in the form of disjoint polygonal objects Integer coordinates, 0, 45, 90, or 135 angles Output: A triangular mesh Conforming: A triangle

More information

(Master Course) Mohammad Farshi Department of Computer Science, Yazd University. Yazd Univ. Computational Geometry.

(Master Course) Mohammad Farshi Department of Computer Science, Yazd University. Yazd Univ. Computational Geometry. 1 / 17 (Master Course) Mohammad Farshi Department of Computer Science, Yazd University 1392-1 2 / 17 : Mark de Berg, Otfried Cheong, Marc van Kreveld, Mark Overmars, Algorithms and Applications, 3rd Edition,

More information

Outline of the presentation

Outline of the presentation Surface Reconstruction Petra Surynková Charles University in Prague Faculty of Mathematics and Physics petra.surynkova@mff.cuni.cz Outline of the presentation My work up to now Surfaces of Building Practice

More information

The Geometry of Carpentry and Joinery

The Geometry of Carpentry and Joinery The Geometry of Carpentry and Joinery Pat Morin and Jason Morrison School of Computer Science, Carleton University, 115 Colonel By Drive Ottawa, Ontario, CANADA K1S 5B6 Abstract In this paper we propose

More information

Boolean Component. Chapter 1. Boolean Operations

Boolean Component. Chapter 1. Boolean Operations Chapter 1. Boolean Component Component: The Boolean Component (BOOL), in the bool directory, performs Boolean operations on the model topology of bodies, first finding the intersections between bodies,

More information

Spatial Data Structures. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017

Spatial Data Structures. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017 Spatial Data Structures Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017 Ray Intersections We can roughly estimate the time to render an image as being proportional to the number of ray-triangle

More information

Connected Components of Underlying Graphs of Halving Lines

Connected Components of Underlying Graphs of Halving Lines arxiv:1304.5658v1 [math.co] 20 Apr 2013 Connected Components of Underlying Graphs of Halving Lines Tanya Khovanova MIT November 5, 2018 Abstract Dai Yang MIT In this paper we discuss the connected components

More information

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Visible Surface Determination Visibility Culling Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Divide-and-conquer strategy:

More information

CS 532: 3D Computer Vision 14 th Set of Notes

CS 532: 3D Computer Vision 14 th Set of Notes 1 CS 532: 3D Computer Vision 14 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Lecture Outline Triangulating

More information

CMSC 425: Lecture 9 Geometric Data Structures for Games: Geometric Graphs Thursday, Feb 21, 2013

CMSC 425: Lecture 9 Geometric Data Structures for Games: Geometric Graphs Thursday, Feb 21, 2013 CMSC 425: Lecture 9 Geometric Data Structures for Games: Geometric Graphs Thursday, Feb 21, 2013 Reading: Today s materials is presented in part in Computational Geometry: Algorithms and Applications (3rd

More information

Outlook. Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Example: The Intel Pentium

Outlook. Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Example: The Intel Pentium Main Memory Outlook Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Example: The Intel Pentium 2 Backgound Background So far we considered how to share

More information

CONSTRUCTIONS OF QUADRILATERAL MESHES: A COMPARATIVE STUDY

CONSTRUCTIONS OF QUADRILATERAL MESHES: A COMPARATIVE STUDY South Bohemia Mathematical Letters Volume 24, (2016), No. 1, 43-48. CONSTRUCTIONS OF QUADRILATERAL MESHES: A COMPARATIVE STUDY PETRA SURYNKOVÁ abstrakt. Polygonal meshes represent important geometric structures

More information

CSG obj. oper3. obj1 obj2 obj3. obj5. obj4

CSG obj. oper3. obj1 obj2 obj3. obj5. obj4 Solid Modeling Solid: Boundary + Interior Volume occupied by geometry Solid representation schemes Constructive Solid Geometry (CSG) Boundary representations (B-reps) Space-partition representations Operations

More information

Planar Point Location

Planar Point Location C.S. 252 Prof. Roberto Tamassia Computational Geometry Sem. II, 1992 1993 Lecture 04 Date: February 15, 1993 Scribe: John Bazik Planar Point Location 1 Introduction In range searching, a set of values,

More information

Mesh Repairing and Simplification. Gianpaolo Palma

Mesh Repairing and Simplification. Gianpaolo Palma Mesh Repairing and Simplification Gianpaolo Palma Mesh Repairing Removal of artifacts from geometric model such that it becomes suitable for further processing Input: a generic 3D model Output: (hopefully)a

More information

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology Point Cloud Filtering using Ray Casting by Eric Jensen 01 The Basic Methodology Ray tracing in standard graphics study is a method of following the path of a photon from the light source to the camera,

More information

Optimal Region for Binary Search Tree, Rotation and Polytope

Optimal Region for Binary Search Tree, Rotation and Polytope Optimal Region for Binary Search Tree, Rotation and Polytope Kensuke Onishi Mamoru Hoshi 2 Department of Mathematical Sciences, School of Science Tokai University, 7 Kitakaname, Hiratsuka, Kanagawa, 259-292,

More information

Adaptive Tessellation for Trimmed NURBS Surface

Adaptive Tessellation for Trimmed NURBS Surface Adaptive Tessellation for Trimmed NURBS Surface Ma YingLiang and Terry Hewitt 2 Manchester Visualization Centre, University of Manchester, Manchester, M3 9PL, U.K. may@cs.man.ac.uk 2 W.T.Hewitt@man.ac.uk

More information

Finding Shortest Path on Land Surface

Finding Shortest Path on Land Surface Finding Shortest Path on Land Surface Lian Liu, Raymond Chi-Wing Wong Hong Kong University of Science and Technology June 14th, 211 Introduction Land Surface Land surfaces are modeled as terrains A terrain

More information

Voronoi Diagrams in the Plane. Chapter 5 of O Rourke text Chapter 7 and 9 of course text

Voronoi Diagrams in the Plane. Chapter 5 of O Rourke text Chapter 7 and 9 of course text Voronoi Diagrams in the Plane Chapter 5 of O Rourke text Chapter 7 and 9 of course text Voronoi Diagrams As important as convex hulls Captures the neighborhood (proximity) information of geometric objects

More information

Intersection Acceleration

Intersection Acceleration Advanced Computer Graphics Intersection Acceleration Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volume hierarchies uniform grids kd-trees octrees

More information

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9.

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9. II.4 Surface Simplification 37 II.4 Surface Simplification In applications it is often necessary to simplify the data or its representation. One reason is measurement noise, which we would like to eliminate,

More information

Parallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li

Parallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li Parallel Physically Based Path-tracing and Shading Part 3 of 2 CIS565 Fall 202 University of Pennsylvania by Yining Karl Li Jim Scott 2009 Spatial cceleration Structures: KD-Trees *Some portions of these

More information

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Last Time? The Traditional Graphics Pipeline Participating Media Measuring BRDFs 3D Digitizing & Scattering BSSRDFs Monte Carlo Simulation Dipole Approximation Today Ray Casting / Tracing Advantages? Ray

More information

On Merging Straight Skeletons

On Merging Straight Skeletons On Merging Straight Skeletons Franz Aurenhammer 1 and Michael Steinkogler 2 1 Institute for Theoretical Computer Science, University of Technology, Graz, Austria auren@igi.tugraz.at 2 Institute for Theoretical

More information

CPSC / Sonny Chan - University of Calgary. Collision Detection II

CPSC / Sonny Chan - University of Calgary. Collision Detection II CPSC 599.86 / 601.86 Sonny Chan - University of Calgary Collision Detection II Outline Broad phase collision detection: - Problem definition and motivation - Bounding volume hierarchies - Spatial partitioning

More information

Lecture 3: Art Gallery Problems and Polygon Triangulation

Lecture 3: Art Gallery Problems and Polygon Triangulation EECS 396/496: Computational Geometry Fall 2017 Lecture 3: Art Gallery Problems and Polygon Triangulation Lecturer: Huck Bennett In this lecture, we study the problem of guarding an art gallery (specified

More information

6.854J / J Advanced Algorithms Fall 2008

6.854J / J Advanced Algorithms Fall 2008 MIT OpenCourseWare http://ocw.mit.edu 6.854J / 18.415J Advanced Algorithms Fall 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 18.415/6.854 Advanced

More information

THE METHODS OF TRIANGULATION

THE METHODS OF TRIANGULATION THE METHODS OF TRIANGULATION Abstract M. Varshosaz, Assistant Professor, Faculty of Geodesy & Geomatics Eng., K.N. Toosi University of Technology K.N. Toosi University of Technology, Vali_Asr St, Tehran,

More information

CAD & Computational Geometry Course plan

CAD & Computational Geometry Course plan Course plan Introduction Segment-Segment intersections Polygon Triangulation Intro to Voronoï Diagrams & Geometric Search Sweeping algorithm for Voronoï Diagrams 1 Voronoi Diagrams Voronoi Diagrams or

More information

An Implementation of a Near-Linear Polygon Triangulation Algorithm for General Polygons

An Implementation of a Near-Linear Polygon Triangulation Algorithm for General Polygons An Implementation of a Near-Linear Polygon Triangulation Algorithm for General Polygons Abstract In 1991 Seidel found a practical algorithm for triangulating simple polygons with an expected running time

More information

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality Planar Graphs In the first half of this book, we consider mostly planar graphs and their geometric representations, mostly in the plane. We start with a survey of basic results on planar graphs. This chapter

More information

Computational Geometry

Computational Geometry More on Voronoi diagrams 1 Can we move a disc from one location to another amidst obstacles? 2 Since the Voronoi diagram of point sites is locally furthest away from those sites, we can move the disc if

More information

CS123 INTRODUCTION TO COMPUTER GRAPHICS. Clipping. Concepts, Algorithms for line clipping. 1 of 16. Andries van Dam. Clipping - 10/12/17

CS123 INTRODUCTION TO COMPUTER GRAPHICS. Clipping. Concepts, Algorithms for line clipping. 1 of 16. Andries van Dam. Clipping - 10/12/17 Clipping Concepts, Algorithms for line clipping 1 of 16 Line Clipping in 2D Clipping endpoints If x min x x max and y min y y max, the point is inside the clip rectangle. Endpoint analysis for lines: if

More information

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo Computer Graphics Bing-Yu Chen National Taiwan University The University of Tokyo Hidden-Surface Removal Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm

More information

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Preferred directions for resolving the non-uniqueness of Delaunay triangulations Preferred directions for resolving the non-uniqueness of Delaunay triangulations Christopher Dyken and Michael S. Floater Abstract: This note proposes a simple rule to determine a unique triangulation

More information

Motion Planning. O Rourke, Chapter 8

Motion Planning. O Rourke, Chapter 8 O Rourke, Chapter 8 Outline Translating a polygon Moving a ladder Shortest Path (Point-to-Point) Goal: Given disjoint polygons in the plane, and given positions s and t, find the shortest path from s to

More information

Vicinities for Spatial Data Processing: a Statistical Approach to Algorithm Design

Vicinities for Spatial Data Processing: a Statistical Approach to Algorithm Design Vicinities for Spatial Data Processing: a Statistical Approach to Algorithm Design Peter Y. Wu wu@rmu.edu Department of Computer and Information Systems Sushil Acharya acharya@rmu.edu Department of Engineering

More information

Orthogonal art galleries with holes: a coloring proof of Aggarwal s Theorem

Orthogonal art galleries with holes: a coloring proof of Aggarwal s Theorem Orthogonal art galleries with holes: a coloring proof of Aggarwal s Theorem Pawe l Żyliński Institute of Mathematics University of Gdańsk, 8095 Gdańsk, Poland pz@math.univ.gda.pl Submitted: Sep 9, 005;

More information

CS535 Fall Department of Computer Science Purdue University

CS535 Fall Department of Computer Science Purdue University Spatial Data Structures and Hierarchies CS535 Fall 2010 Daniel G Aliaga Daniel G. Aliaga Department of Computer Science Purdue University Spatial Data Structures Store geometric information Organize geometric

More information

Aspect-Ratio Voronoi Diagram with Applications

Aspect-Ratio Voronoi Diagram with Applications Aspect-Ratio Voronoi Diagram with Applications Tetsuo Asano School of Information Science, JAIST (Japan Advanced Institute of Science and Technology), Japan 1-1 Asahidai, Nomi, Ishikawa, 923-1292, Japan

More information

Computational Geometry

Computational Geometry Lecture 1: Introduction and convex hulls Geometry: points, lines,... Geometric objects Geometric relations Combinatorial complexity Computational geometry Plane (two-dimensional), R 2 Space (three-dimensional),

More information

Notes in Computational Geometry Voronoi Diagrams

Notes in Computational Geometry Voronoi Diagrams Notes in Computational Geometry Voronoi Diagrams Prof. Sandeep Sen and Prof. Amit Kumar Indian Institute of Technology, Delhi Voronoi Diagrams In this lecture, we study Voronoi Diagrams, also known as

More information

Organizing Spatial Data

Organizing Spatial Data Organizing Spatial Data Spatial data records include a sense of location as an attribute. Typically location is represented by coordinate data (in 2D or 3D). 1 If we are to search spatial data using the

More information

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming L1 - Introduction Contents Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming 1 Definitions Computer-Aided Design (CAD) The technology concerned with the

More information

γ 2 γ 3 γ 1 R 2 (b) a bounded Yin set (a) an unbounded Yin set

γ 2 γ 3 γ 1 R 2 (b) a bounded Yin set (a) an unbounded Yin set γ 1 γ 3 γ γ 3 γ γ 1 R (a) an unbounded Yin set (b) a bounded Yin set Fig..1: Jordan curve representation of a connected Yin set M R. A shaded region represents M and the dashed curves its boundary M that

More information

Triangulation and Convex Hull. 8th November 2018

Triangulation and Convex Hull. 8th November 2018 Triangulation and Convex Hull 8th November 2018 Agenda 1. Triangulation. No book, the slides are the curriculum 2. Finding the convex hull. Textbook, 8.6.2 2 Triangulation and terrain models Here we have

More information

Chapter 12 Solid Modeling. Disadvantages of wireframe representations

Chapter 12 Solid Modeling. Disadvantages of wireframe representations Chapter 12 Solid Modeling Wireframe, surface, solid modeling Solid modeling gives a complete and unambiguous definition of an object, describing not only the shape of the boundaries but also the object

More information

Accelerating Ray-Tracing

Accelerating Ray-Tracing Lecture 9: Accelerating Ray-Tracing Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016 Course Roadmap Rasterization Pipeline Core Concepts Sampling Antialiasing Transforms Geometric Modeling

More information

Border Patrol. Shingo Murata Swarthmore College Swarthmore, PA

Border Patrol. Shingo Murata Swarthmore College Swarthmore, PA Border Patrol Shingo Murata Swarthmore College Swarthmore, PA 19081 smurata1@cs.swarthmore.edu Dan Amato Swarthmore College Swarthmore, PA 19081 damato1@cs.swarthmore.edu Abstract We implement a border

More information

: Mesh Processing. Chapter 8

: Mesh Processing. Chapter 8 600.657: Mesh Processing Chapter 8 Handling Mesh Degeneracies [Botsch et al., Polygon Mesh Processing] Class of Approaches Geometric: Preserve the mesh where it s good. Volumetric: Can guarantee no self-intersection.

More information

Construction Of The Constrained Delaunay Triangulation Of A Polygonal Domain

Construction Of The Constrained Delaunay Triangulation Of A Polygonal Domain Construction Of The Constrained Delaunay Triangulation Of A Polygonal Domain Reinhard Klein 1 A fast and easy to implement divide-and-conquer algorithm is presented for the construction of the Constrained

More information

weighted minimal surface model for surface reconstruction from scattered points, curves, and/or pieces of surfaces.

weighted minimal surface model for surface reconstruction from scattered points, curves, and/or pieces of surfaces. weighted minimal surface model for surface reconstruction from scattered points, curves, and/or pieces of surfaces. joint work with (S. Osher, R. Fedkiw and M. Kang) Desired properties for surface reconstruction:

More information

Chapter 8 & Chapter 9 Main Memory & Virtual Memory

Chapter 8 & Chapter 9 Main Memory & Virtual Memory Chapter 8 & Chapter 9 Main Memory & Virtual Memory 1. Various ways of organizing memory hardware. 2. Memory-management techniques: 1. Paging 2. Segmentation. Introduction Memory consists of a large array

More information

COMPUTATIONAL GEOMETRY

COMPUTATIONAL GEOMETRY Thursday, September 20, 2007 (Ming C. Lin) Review on Computational Geometry & Collision Detection for Convex Polytopes COMPUTATIONAL GEOMETRY (Refer to O'Rourke's and Dutch textbook ) 1. Extreme Points

More information

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Last Time? The Traditional Graphics Pipeline Reading for Today A Practical Model for Subsurface Light Transport, Jensen, Marschner, Levoy, & Hanrahan, SIGGRAPH 2001 Participating Media Measuring BRDFs

More information

Simulation in Computer Graphics Space Subdivision. Matthias Teschner

Simulation in Computer Graphics Space Subdivision. Matthias Teschner Simulation in Computer Graphics Space Subdivision Matthias Teschner Outline Introduction Uniform grid Octree and k-d tree BSP tree University of Freiburg Computer Science Department 2 Model Partitioning

More information

Lecture 8. Vector Data Analyses. Tomislav Sapic GIS Technologist Faculty of Natural Resources Management Lakehead University

Lecture 8. Vector Data Analyses. Tomislav Sapic GIS Technologist Faculty of Natural Resources Management Lakehead University Lecture 8 Vector Data Analyses Tomislav Sapic GIS Technologist Faculty of Natural Resources Management Lakehead University Vector Data Analysis Vector data analysis involves one or a combination of: Measuring

More information

Ray Tracing: Intersection

Ray Tracing: Intersection Computer Graphics as Virtual Photography Ray Tracing: Intersection Photography: real scene camera (captures light) photo processing Photographic print processing Computer Graphics: 3D models camera tone

More information

Computational Geometry Algorithms Library. Geographic information Systems

Computational Geometry Algorithms Library. Geographic information Systems Computational Geometry Algorithms Library in Geographic information Systems Edward Verbree, Peter van Oosterom and Wilko Quak TU Delft, Department of Geodesy, Thijsseweg 11, 2629 JA Delft, the Netherlands

More information

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Final Projects Proposals due Thursday 4/8 Proposed project summary At least 3 related papers (read & summarized) Description of series of test cases Timeline & initial task assignment The Traditional Graphics

More information

Advanced 3D-Data Structures

Advanced 3D-Data Structures Advanced 3D-Data Structures Eduard Gröller, Martin Haidacher Institute of Computer Graphics and Algorithms Vienna University of Technology Motivation For different data sources and applications different

More information

2) For any triangle edge not on the boundary, there is exactly one neighboring

2) For any triangle edge not on the boundary, there is exactly one neighboring Triangulating Trimmed NURBS Surfaces Chang Shu and Pierre Boulanger Abstract. This paper describes techniques for the piecewise linear approximation of trimmed NURBS surfaces. The problem, called surface

More information

MSc Geomatics thesis presentation. Validation and automatic repair of planar partitions using a constrained triangulation.

MSc Geomatics thesis presentation. Validation and automatic repair of planar partitions using a constrained triangulation. MSc Geomatics thesis presentation Validation and automatic repair of planar partitions using a constrained triangulation Ken Arroyo Ohori Friday, 27 August 2010 at 10:00 Grote Vergaderzaal OTB Research

More information

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13 Lecture 17: Solid Modeling... a cubit on the one side, and a cubit on the other side Exodus 26:13 Who is on the LORD's side? Exodus 32:26 1. Solid Representations A solid is a 3-dimensional shape with

More information

Geometric Algorithms. Geometric search: overview. 1D Range Search. 1D Range Search Implementations

Geometric Algorithms. Geometric search: overview. 1D Range Search. 1D Range Search Implementations Geometric search: overview Geometric Algorithms Types of data:, lines, planes, polygons, circles,... This lecture: sets of N objects. Range searching Quadtrees, 2D trees, kd trees Intersections of geometric

More information

Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

More information

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 9.1 Linear Programming Suppose we are trying to approximate a minimization

More information

VORONOI DIAGRAM PETR FELKEL. FEL CTU PRAGUE Based on [Berg] and [Mount]

VORONOI DIAGRAM PETR FELKEL. FEL CTU PRAGUE   Based on [Berg] and [Mount] VORONOI DIAGRAM PETR FELKEL FEL CTU PRAGUE felkel@fel.cvut.cz https://cw.felk.cvut.cz/doku.php/courses/a4m39vg/start Based on [Berg] and [Mount] Version from 9.11.2017 Talk overview Definition and examples

More information

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling Welcome to the lectures on computer graphics. We have

More information

An efficient implementation of the greedy forwarding strategy

An efficient implementation of the greedy forwarding strategy An efficient implementation of the greedy forwarding strategy Hannes Stratil Embedded Computing Systems Group E182/2 Technische Universität Wien Treitlstraße 3 A-1040 Vienna Email: hannes@ecs.tuwien.ac.at

More information

Triangulation by Ear Clipping

Triangulation by Ear Clipping Triangulation by Ear Clipping David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International License. To

More information

Multidimensional Data and Modelling

Multidimensional Data and Modelling Multidimensional Data and Modelling 1 Problems of multidimensional data structures l multidimensional (md-data or spatial) data and their implementation of operations between objects (spatial data practically

More information