private void DrawVoroni(Vector2 addedPoint) { if (_points.Count == 1) { _triangles.Clear(); _triangles = Delaunay.Delaunay.Triangulate(_points, new Size(PointCanvas.ActualWidth, PointCanvas.ActualHeight)); } else { Delaunay.Delaunay.Triangulate(addedPoint, ref _triangles); DelaunayCanvas.Children.Clear(); } foreach (var triangle in _triangles) { DelaunayCanvas.Children.Add(GenerateTriangle(triangle, Colors.Green)); } var edges = Voronoi.CalculateEdges(_triangles); VoronoiCanvas.Children.Clear(); foreach (var edge in edges) { VoronoiCanvas.Children.Add(GenerateLine(edge.Start, edge.End, Colors.Blue)); } }
private void ReDraw() { _triangles.Clear(); _triangles = Delaunay.Delaunay.Triangulate(_points, new Size(PointCanvas.ActualWidth, PointCanvas.ActualHeight)); foreach (var triangle in _triangles) { DelaunayCanvas.Children.Add(GenerateTriangle(triangle, Colors.Green)); } var edges = Voronoi.CalculateEdges(_triangles); VoronoiCanvas.Children.Clear(); foreach (var edge in edges) { VoronoiCanvas.Children.Add(GenerateLine(edge.Start, edge.End, Colors.Blue)); } }