From 80802ee8d6279e93e24cbee136d83e852400e470 Mon Sep 17 00:00:00 2001 From: Ano-sys Date: Tue, 24 Mar 2026 14:02:22 +0100 Subject: [PATCH] Added README --- README.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..4be648e --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +# DelaunayTriangulation + +`DelaunayTriangulation` ist eine interaktive Desktop-Anwendung zur Visualisierung der Delaunay-Triangulierung auf zufallsgenerierten Punktmengen. Ersichtlich sind ebenfalls die Umkreise, das Voronoi-Diagramm und die konvexe Hülle. + +## Überblick + +- Avalonia-Desktop-App auf Basis von .NET 10, C# +- Visualisierung mehrerer Triangulations- und Vergleichsmodi +- Konfigurierbare Punktanzahl, Mindestabstand und Animationsgeschwindigkeit +- Ein- und ausblendbare Darstellung für Punkte, Dreiecke, Umkreise, Voronoi-Diagramm und konvexe Hülle +- Pan und Zoom direkt im Zeichenbereich +- Abbruch laufender Generierung und Umschalten zwischen hellem und dunklem Theme + +## Enthaltene Modi + +- `BowyerWatson`: eigene inkrementelle Delaunay-Implementierung; erzeugt zusätzlich Umkreise, Voronoi-Diagramm und konvexe Hülle +- `Delaunay (Delaunator)`: bibliotheksgestützter Vergleichsmodus mit `Delaunator` +- `Demonstration`: feste, didaktische Schrittfolge zur Veranschaulichung des Delaunay-Kriteriums +- `Connect Points`: verbindet Punkte sukzessive anhand lokaler Nachbarschaft +- `ConnectPointsV2`: verbindet Punktpaare vollständig +- `Nearest Triangle`: einfacher Triangulationsansatz als Vergleichsmodus + +Die letzten drei Varianten sind eher experimentell und dienen primär dem visuellen Vergleich mit den eigentlichen Delaunay-Modi. + +## Bedienung + +1. Punktanzahl, Mindestabstand und Generierungsverzögerung einstellen. +2. Sichtbare Ebenen im linken Panel auswählen. +3. Einen Algorithmus bzw. Modus auswählen oder Standardauswahl belassen. +4. `Generate` ausführen, mit `Cancel` abbrechbar. +5. Mit dem Mausrad zoomen und mit gedrückter linker Maustaste im Canvas verschieben. + +## Relevante Dateien + +- `DelaunayTriangulation/ViewModels/MainWindowViewModel.cs`: Generierung, Algorithmen und Visualisierungslogik +- `DelaunayTriangulation/Views/MainWindow.axaml`: Oberfläche und Steuerelemente +- `DelaunayTriangulation/Views/MainWindow.axaml.cs`: Pan- und Zoom-Verhalten +- `DelaunayTriangulation/Models/Geometries.cs`: Geometrieklassen für Punkte, Kanten, Kreise und Dreiecke