Home Skripten Seminare
logo
Seminare
- TGI-Praktikum
- Geometry in C
- PERM & ALGOL

Computational Geometry in C - Arrangements

Computational Geometry (Algorithmische Geometrie) befasst sich mit Entwurf, Analyse und Implementierung von Algorithmen zur Lösung geometrischer Probleme auf einem Rechner. Die Anwendungsbereiche sind vielfältig: CAD, Animation, Computergrafik, Simulation, Verarbeitung geographischer Daten, medizinische Anwendungen, Robotik, etc. In dem Proeminar wurde eine Auswahl der wichtigsten Algorithmen und Datenstrukturen vorgestellt.

Arrangements

Arrangements von Geraden (und Ebenen) bilden, neben Konvexen Hüllen und Voronoi Diagrammen, die dritte bedeutende Struktur, die in der Computational Geometry genutzt wird.

Definition Arrangement:

Gegeben sei eine Menge von (unendlich vielen) Geraden, die in einer Ebene angeordnet (arranged) sind. Diese Geraden bewirken eine Partition der Ebene in:

  • konvexe Polygone, die als Zellen (cells) oder Facetten (faces) bezeichnet werden
  • Segmente oder Kanten (edges) zwischen den Schnittpunkten der Geraden
  • Knoten (vertices), wo sich die Geraden schneiden

Es ist diese Partition, die als Arrangement bezeichnet wird.

Arrangements erscheinen viel zu abstrakt, um viele Anwendungen zu haben, aber in Wirklichkeit gibt es eine ganze Reihe davon. An dieser Stelle sollen zwei Beispiele genügen:

  • Hidden Surface Removal: Als Hidden Surface Removal wird die Ermittlung der verdeckten Objekte in einer dreidimensionalen Szene bezeichnet. Der erste Worst-Case optimale Θ(n²) Algorithmus basiert auf Arrangements.
  • Ham-Sandwich Cuts: Es gibt einen bemerkenswerten Satz, der besagt, dass jedes Schinken-Sandwich so von einer Ebene geschnitten werden kann, dass beide Hälften die gleiche Menge an Schinken und Brot enthalten. Die zweidimensionale Version dieses Satzes besagt, dass immer eine Gerade existiert, die zwei Punktmengen genau halbiert. Arrangements ermöglichen es, diese Halbierung in linearer Zeit zu finden, also O(n), wobei n die Anzahl der Punkte ist.

Download Ausarbeitung

home

© 2002 Steffen Manthey

mail

webmaster@manthey.cc