Algorithm3. (3-dim) Assumptions Points are ordered in a sequence increasingly with respect to the x coordinate. Points having the same x coordinate are.

Slides:



Advertisements
Similar presentations
Polygon Scan Conversion – 11b
Advertisements

Planar Subdivision Induced by planar embedding of a graph. Connected if the underlying graph is. edge vertex hole in f face f disconnected subdivision.
Computer Graphics- SCC 342
Polygon Triangulation
Computational Geometry
Map Overlay Algorithm. Birch forest Wolves Map 1: Vegetation Map 2: Animals.
Convex drawing chapter 5 Ingeborg Groeneweg. Summery What is convex drawing What is convex drawing Some definitions Some definitions Testing convexity.
Geometry Chapter 1 Review TEST Friday, October 25 Lessons 1.1 – 1.7
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
Minimum Spanning Tree Sarah Brubaker Tuesday 4/22/8.
Applications of Euler’s Formula for Graphs Hannah Stevens.
Brute-Force Triangulation
2/3/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Triangulations and Guarding Art Galleries II Carola Wenk.
Computing Convex Hulls CLRS 33.3
Convex Hull obstacle start end Convex Hull Convex Hull
CS16: Introduction to Data Structures & Algorithms
Tutorial 6 of CSCI2110 Bipartite Matching Tutor: Zhou Hong ( 周宏 )
One of the most important problems is Computational Geometry is to find an efficient way to decide, given a subdivision of E n and a point P, in which.
UNC Chapel Hill M. C. Lin Polygon Triangulation Chapter 3 of the Textbook Driving Applications –Guarding an Art Gallery –3D Morphing.
Congruent and Similar. Similar and Congruent Figures Congruent polygons have all sides congruent and all angles congruent. Similar polygons have the same.
Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull 
Convex Hulls in 3-space Jason C. Yang.
Transformations Math 8.
2. Voronoi Diagram 2.1 Definiton Given a finite set S of points in the plane , each point X of  defines a subset S X of S consisting of the points of.
3. Delaunay triangulation
Computational Geometry The art of finding algorithms for solving geometrical problems Literature: –M. De Berg et al: Computational Geometry, Springer,
1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.
Computational Geometry The art of finding algorithms for solving geometrical problems Literature: –M. De Berg et al: Computational Geometry, Springer,
1.4 Exercises (cont.) Definiton: A set S of points is said to be affinely (convex) independent if no point of S is an affine combination of the others.
Algorithm 1. (Convex Hull) - Pseudo code - Input. A set of points in the plane. Output. A list containing the vertices of Conv ( P). 1. Sort the points.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 Chapter 4: 3D Convex Hulls Monday, 2/23/04.
CONGRUENT AND SIMILAR FIGURES
Transformations Review. Recall: Types of Transformations Translations Reflections Rotations.
D1: Matchings.
Menu Select the class required then click mouse key to view class.
Geometric Algorithms1 segment intersection orientation point inclusion simple closed path.
Polygon Scan Conversion and Z-Buffering
A brief and sketchy intro to 3D Convex Hulls Rodrigo Silveira GEOC 2010/11 - Q2.
Parallel and Perpendicular
9-5 Transformations in the Coordinate Plane Learn to use translations, reflections, and rotations to change the positions of figures in the coordinate.
Line Arrangement Chapter 6. Line Arrangement Problem: Given a set L of n lines in the plane, compute their arrangement which is a planar subdivision.
Chapter 4 sections 1 and 2.  Fig. 1  Not connected  All vertices are even.  Fig. 2  Connected  All vertices are even.
Warm Up Problem of the Day Lesson Presentation Lesson Quizzes 1.
Mesh Data Structure. Meshes Boundary edge: adjacent to 1 face Regular edge: adjacent to 2 faces Singular edge: adjacent to >2 faces Mesh: straight-line.
Planar Subdivision Induced by planar embedding of a graph. Connected if the underlying graph is. edge vertex disconnected subdivision Complexity = #vertices.
Translations, Reflections, and Rotations
Arrangements and Duality Sanjay Sthapit Comp290 10/6/98.
Arrangements and Duality Motivation: Ray-Tracing Fall 2001, Lecture 9 Presented by Darius Jazayeri 10/4/01.
Unit – V Graph theory. Representation of Graphs Graph G (V, E,  ) V Set of vertices ESet of edges  Function that assigns vertices {v, w} to each edge.
1 / 41 Convex Hulls in 3-space Jason C. Yang. 2 / 41 Problem Statement Given P: set of n points in 3-space Return: –Convex hull of P: CH (P) –Smallest.
Graphs A ‘Graph’ is a diagram that shows how things are connected together. It makes no attempt to draw actual paths or routes and scale is generally inconsequential.
Transformations on the Coordinate Plane: Translations and Rotations.
Computer Graphics Filling. Filling Polygons So we can figure out how to draw lines and circles How do we go about drawing polygons? We use an incremental.
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
9/8/10CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2010 Triangulations and Guarding Art Galleries Carola Wenk.
Patterns and Sequences Sequence: Numbers in a specific order that form a pattern are called a sequence. An example is 2, 4, 6, 8, 10 and 12. Polygon:
PROJECTION OF PLANES Hareesha NG Don Bosco Institute of Technology Bangalore-74.
Polygon Triangulation
Segments, Rays, Lines, and Planes 1-4. Segments  The part of a line consisting of two endpoints and all points between them AB or BA.
Incremental convex hulls BEN LEVY| DISCRETE ALGORITHMIC GEOMETRY
CMPS 3130/6130 Computational Geometry Spring 2017
Computer Graphics Filling.
Introduction to Polygons
Preview Warm Up California Standards Lesson Presentation.
تصنيف التفاعلات الكيميائية
1-6 Midpoint Find the midpoint of: DE: DC: AB: AE: (2+5) / 2 = 3.5
*YOU SHOULD CONSTANTLY BE REVIEWING THIS VOCABULARY AS WE GO!
Graphs Part 2 Adjacency Matrix
AB AC AD AE AF 5 ways If you used AB, then, there would be 4 remaining ODD vertices (C, D, E and F) CD CE CF 3 ways If you used CD, then, there.
Polygons Section 3-1.
Presentation transcript:

Algorithm3. (3-dim) Assumptions Points are ordered in a sequence increasingly with respect to the x coordinate. Points having the same x coordinate are cleared to the vertices of their convex hull. Algorithm is incremental (inductive): at the step k+1 the (k+1) st point A k+1, as well as the convex hull C k of the previous points, are used to produce the convex hull C k+1 of the first k+1-points. (Exercise 10 = Implementation of algorithm 3)

Storing data of C k. Edges are oriented, i.e. for each edge we store a pair of oriented edges. For each (oriented) edge e A,B we store: Coordinates of its origin (A), Pointer to the opposite edge e B,A, (function Twin(e A,B )), Pointer to the facet “left of” e A,B (function Left (e A,B )), Pointer to the edge of this facet which ends at its origin (Prev (e A,B ) ). For each vertex A we store an: Edge which originates at A. For each facet we store a Pointer to its edge (appropriately oriented). Algorithm3. (cont.)

Example: A B CD E A B... e A,B e C,D... G F A ABG Origin()Twin() Prev() Left() CBCDG (X A,Y A,Z A ) (X B,Y B,Z B ) Out()... e C,D Algorithm3. (Storing data cont.) e B,A e G,A e D,C e B,C e D,C BCDG e A,B e B,A

Algorithm3. (cont.) Vertices of the vertex figure: e 1 =e A,B = Out(A) e 2 =e A,G =Twin(Prev(e 1 )) e 3 =e A,F =Twin(Prev(e 2 )) e 4 =e A,E =Twin(Prev(e 3 )) e 5 =e A,C =Twin(Prev(e 4 )) Edges of the vertex figure: Left(e 1 ), Left(e 2 ), Left(e 3 ), Left(e 4 ), Left (e 5 ) A B CD E G F Vertex Figure of A:

Step k Find the (space) polygon H k of edges of C k which divide the “visible” and the “invisible” part of C k with respect to (“from”) the point A k+1. A k+1 A k A 2 A 0 A 4 A 3 A 5 Algorithm3. (cont.) A 1 X

1.1 Start with the vertex figure V k = e 1 e 2 …e r of A k. A k is the last previously added point, the closest to A k in C k, therefore visible! Starting with the edge e 1 = Out (A k ) of C k (a “vertex” of V k ) we go counterclockwise (in + direction) around V k and check if the facets (“edges” of V k ) are visible. The visibility of the facet with edges e i and e i+1 is checked similarly as in 2 dimensions by the sine of a the mixed product [ e i, e i+1, A k A k+1 ] ( > 0  visible). Algorithm3. (step k+1 cont.) During the construction of H k, all visible facets, verteces and edges will be deleted except the vertices and edges of H k. eiei e i+1 A k+1 A k

1.1.1 All facets in V k are visible. We delete all these facets, all their edges* and the vertex A k. The remaining edges of deleted facets are stored in a set R k **. (At each original edge e A,B, a pointer R (e A,B ) to its duplicate in R k is stored, and vice versa.) Algorithm3. (step k+1 cont.) eiei e i+1 A k * both ± directed edges incident to A k ** R k is a cycle of oriented edges. R k will evolve in H k ! R kR k

1.1.2 Some facets in V k are not visible. We delete all visible facets and all their edges. Now vanish some pairs ± e i (bordering two visible neighbors), some pairs ± e i remain, and vanish exactly two singles (bordering a visible and an invisible neighbor) h 1 and h 2. Their twins -h 1 and -h 2 are the first edges of H k, A k the first vertex. The set R k is defined the same way as in Algorithm3. (step k+1 cont.) eiei e i+1 A k R kR k

1.m+1 Inductively, at any vertex X of the cycle R k not already used in some step 1.x., perform a step 1.m+1.1 / 1.m+1.2 similar to the step / The visible facets around X and their edges will be deleted. Two (left fig. ) or one (right fig.) edge of R k will be replaced with a sequence of undeleted edges of deleted facets, and the cycle R k will be updated. Algorithm3. (step k+1 cont.) X X

If all the vertices of R k are already visited, then H k = R k 2. Add the edges and the facets which connect A k+1 with the vertices and the edges of H k. A k+1 A k A 2 A 0 A 4 A 3 A 5 A 1 A k+1 A k A 2 A 0 A 4 A 3 A 5 A 1

If A k+1 is in the plane of some facet f of C k, we “glue” the corresponding triangles to this facet. A k+1 f 3. Deal with degeneracy (special cases). Algorithm3. (step k+1 cont.)