Added README

This commit is contained in:
Ano-sys
2026-03-24 14:02:22 +01:00
parent 2bc0f2a67c
commit 80802ee8d6
+38
View File
@@ -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