Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 80802ee8d6 |
@@ -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
|
||||||
Reference in New Issue
Block a user