330 likes | 544 Vues
Seminar Approximationstheorie Trivariate Delaunay-Tetraederzerlegungen. Matthias Göttel Lehrstuhl für Mathematik IV 22.September 2011. Agenda. Einleitung/Problemstellung Local transformation procedure (lokale Transformation)
E N D
Seminar ApproximationstheorieTrivariate Delaunay-Tetraederzerlegungen Matthias Göttel Lehrstuhl für Mathematik IV 22.September 2011
Agenda • Einleitung/Problemstellung • Local transformation procedure (lokale Transformation) • Algorithmus zur Delaunay-Triangulation unter Verwendung der local transformation • Erweiterungen des Algorithmus • Zeitkomplexität der Algorithmen • Anwendungsbeispiele (Applets und Videos) • Literatur
Local transformation procedure (lokale Transformation) • Basierend auf den möglichen Anordnungen von fünf unterschiedlichen, nicht in einer Ebene liegenden (nicht koplanar) 3-DPunkten • Anordnungsmöglichkeiten: • Beispiel 1: • wenn nicht 4 der 5 Punkte in einer Ebene liegen gibt es 2Anordnungsmöglichkeiten • in diesem Fall ist die konvexe Hülle ein konvexer Hexaeder, wenn die Grenze der konvexen Hülle alle 5 Punkte enthält (Konfiguration 1)
Local transformation procedure (lokale Transformation) • Beispiel 1: • durchschneidet die Strecke de das Innere des Dreiecks abc, dann • enthält die erste Triangulierung 1i) die zwei Tetraeder abcd und abce • die zweite Triangulierung 1ii) enthält die drei Tetraeder abde, acde und bcde 1i) 1ii)
Local transformation procedure (lokale Transformation) • Beispiel 2: • Enthält der Rand der konvexen Hülle nur 4 der 5 Punkte (Konfiguration 2) • einer der 5 Punkte liegt im Inneren der konvexen Hülle • nur eine mögliche Triangulierung existiert mit den 4 Tetraedern abcd, abce, abde, acde 2i)
Local transformation procedure (lokale Transformation) • Beispiel 3: • liegen genau 4 der 5 Punkte in einer Ebene, so gibt es 3 Anordnungsmöglichkeiten • Annahme: a, b, d und e liegen in einer Ebene, c liegt auf einer anderen Ebene • Konfiguration 3 tritt auf, wenn abde ein strikt konvexes Viereck bildet • es gibt 2 Anordnungsmöglichkeiten der konvexen Hülle mit 2 Tetraedern
Local transformation procedure (lokale Transformation) • Die erste Triangulierung 3i) beinhaltet abcd und abce • Die zweite Triangulierung 3ii) acde und bcde • Hier: Die local transformation procedure ist das Vertauschen der Fläche abc gegen cde oder auch umgekehrt 3i) 3ii)
Local transformation procedure (lokale Transformation) • Beispiel 4: • Konfiguration 4 tritt auf, wenn das Viereck adbe zu einem Dreieck entartet • Es gibt nur eine mögliche Triangulierung mit den beiden Tetraedern abcd und abce 4i)
Local transformation procedure (lokale Transformation) • Beispiel 5: • Konfiguration5 tritt auf, wenn die Punkte adbe ein nicht konvexesViereck bilden • Es gibt dann nur eine mögliche Triangulierung mit den 3 Tetraedern abcd, abce und acde 5i)
Local transformation procedure (lokale Transformation) 1i) 1ii)
Local transformation procedure (lokale Transformation) 3i) 3ii)
Local transformation procedure (lokale Transformation) 1ii) 1i)
Algorithmus zur Delaunay-Triangulation unter Verwendung der local transformation
Algorithmus zur Delaunay-Triangulation unter Verwendung der local transformation • Algorithmus zur Konstruktion einer Delaunay Triangulierung von n 3-D Punkten (oder Ecken v1, v2, …, vn ) • Annahme: nicht 4 Punkte sind koplanar • Punkte in lexikographischer Reihenfolge nach den Koordinaten sortieren • Durch Umsortierensicher stellen, dass die ersten 4Punkte nicht in einer Ebene liegen
Algorithmus zur Delaunay-Triangulation unter Verwendung der local transformation 3. Im allgemeinen Schritt wird eine pseudo-locally-optimal Triangulierung TDi-1 der ersten i-1 Punkte konstruiert und der i-te Punkte wird hinzugefügt, um eine vorläufige Triangulierung der ersten i Punkte zu erzeugen. Dies geschieht durch die Angliederung des i-ten Punktes an die sichtbaren Randflächen von TDi-1.
Algorithmus zur Delaunay-Triangulation unter Verwendung der local transformation 4. Dann wird die local transformation procedure solange angewandt auf nicht locally-optimal, umwandelbare Flächen, bis eine pseudo-locally-optimal Triangulierung TDider i Punkte erlangt ist. 5. Bei einem weiteren Punkt beginnt der Algorithmus von vorne und alle Schritte werden analog durchlaufen.
Algorithmus zur Delaunay-Triangulation unter Verwendung der local transformation Algorithmus TRSPH1 Sortiere die Punkte v1, v2, …, vn in lexikographischer Reihenfolge Geringfügiges umordnen der Punkte wenn nötig, so dass die ersten 4 Punkte nicht koplanar sind Konstruktion des ersten Tetraeders v₁, v₂, v₃, v₄ Ermittlung des Schwerpunktes w = (v₁ ₊ v₂₊v₃₊ v₄) / 4 Initialisierung von S als leerem Stapelspeicher for i:₌ 5 bis n do Sei T D i-1 = laufende Triangulierung der ersten i -1 Punkte (T D i-1ist pseudo-locally-optimal) for jede Randfläche vavbvc von T D i-1do if vi ist auf der gegenüberliegenden Seite von vavbvc von w aus gesehen then Füge den Tetraeder vavbvcvi zur Triangulierung hinzu Setze die innere Fläche vavbvc auf den Stapelspeicher S endif endfor
Algorithmus zur Delaunay-Triangulation unter Verwendung der local transformation whileStapelspeicher S ist nicht leer do Hole die innere Fläche vavbvc vom Stapelspeicher S if vavbvc ist noch in der Triangulierung then Finde die zwei Tetraeder vavbvcvd, vavbvcvemit der gemeinsamen Fläche vavbvc ifwenn die Kugel um den Tetraeder vavbvcvdden Punkt ve im Inneren enthält then ifvavbvc ist umwandelbar then Wende die local transf. proc. auf 2 oder 3 Tetraeder in der konvexen Hülle von va,…, ve an if vavbvcauftritt wie in Fall (iv) Definition 2 then wende die local transformation proc. an auf vavbvdvf , vavbve vf endif Setze jede Fläche am Rand der Vereinigung von 2, 3 oder 4 umgewandelten Tetraeder auf den Stapelspeicher S, wenn es eine innere Fläche ist und diese noch nicht in S ist (das gleiche gilt für vavdve,vbvdve im Fall (iv) von Def. 2) endif endif endwhile endfor
Anwendungsbeispiele (Applet) • http://members.fortunecity.com/lukesunder/dt3d.htm • http://www.pi6.fernuni-hagen.de/GeomLab/VoroGlide • http://www.personal.kent.edu/~rmuhamma/Compgeometry/MyCG/CG-Applets/DelThirdOrder/dela3cli.htm • http://www.cse.unsw.edu.au/~lambert/java/3d/delaunay.html • http://www.youtube.com/watch?v=cbcRu8uF0F8 • http://www.youtube.com/watch?v=VDTJmKE0EyA&NR=1 • http://www.youtube.com/watch?v=TgcsFR_DoA4&feature=related
Literatur • Avis, D. und B.K. Bhattacharya (1983), Algorithms for computing d-dimensional Voronoi diagrams an theirduals, in: F.P. Preparataed., Advances in Computing Research, 1, JAI Press, 159-180 • Bentley, J.L., H.T. Kung, M. Schkolnickand C.D. Thompson (1978), On theaveragenumberofmaxima in a setofvectorsandapplications, J. ACM 25, 536- 543 • Bowyer, A. (1981), Computing DirichletTessellations, Computer J. 24, 162-166 • Cavendish, J.C., D.A. Field, and W.H. Frey (1985), An approachtoautomaticthree-dimensional finite elementmeshgeneration, Int. J. Num. Meth. Eng. 21, 329-347 • Edelsbrunner, H. (1987), Algorithms in CombinatorialGeometry, Springer, Berlin • Edelsbrunner, H. (1989), An acyclicitytheoremforcellcomplexes in d dimensions, Proc. 5th ACM Symp. On ComputationalGeometry, 145-15 • Edelsbrunner, H., F.P. Preparata, and D.B. West (1990), Tetrahedrizingpointsets in threedimesnions, J. SymbolicComputation, toappear. • Ferguson, N. (1987), Delaunay edgeswapping in threedimensions, Technical Report, Institute forNumericalComputationand Analysis, Dublin, Ireland
Literatur • Joe, B. (1986), Delaunay triangularmeshes in convexpolygons, SIAM J. Sci. Stat. Comput. 7, 514-539 • Joe, B. (1989), Three-dimensional triangulationsfrom local tranformations, SIAM J. Sci. Stat. Comput. 10,718-741 • Joe, B. (1991), Constructionofthree-dimensional Delaunay triangulationsusing local transformations, Computer AidedGeometric Design 8, 123-142 • Knuth, D.E: (1973), The Art of Computer Programming; Vol. 3: SearchingandSorting, Addison-Wesley, reading, MA. • Lawson, C.L. (1977), Software for C1surfaceinterpolation, in: J.R. Rice. Ed., Mathematical Software III, Academic Press, New York, 161-194 • Lawson, C.L. (1986), Properties of n-dimensional triangulations, Computer AidedGeometric Design 3, 231-246 • Petersen, C.S., B.R. Piper, and A.J. Worsey (1987), Adaptive contouringoftrivariateinterpolant, in: G.E. Farin, ed., Geometric Modeling: Algorithmsand New Trends, SIAM, Philadelphia, PA, 385-395 • Preparata, F.P. and M.I. Shamos (1985).ComputationalGeometry, An Introduction, Springer, New York • Sloan, S.W. (1987), A fast algorithmforconstructing Delaunay Triangulations in the plane, Adv. Eng. Software 9, 34-55 • Watson, D.F. (1981), Computing the n-dimensional Delaunay tesselationwithapplicationtoVoronoipolytopes, Computer J. 24, 167-172
Vielen Dank für Ihre Aufmerksamkeit Matthias Göttel