public void RotateCircle(double degrees) { var cos = Math.Cos(degrees * Math.PI / 180); var sin = Math.Sin(degrees * Math.PI / 180); var point1 = Left.Point; var point2 = Center.Point; var point3 = Right.Point; var p1X = (cos * point1.X - sin * point1.Y); var p1Y = (sin * point1.X + cos * point1.Y); point1 = new VoronoiVertex(p1X, p1Y); var p2X = (cos * point2.X - sin * point2.Y); var p2Y = (sin * point2.X + cos * point2.Y); point2 = new VoronoiVertex(p2X, p2Y); var p3X = (cos * point3.X - sin * point3.Y); var p3Y = (sin * point3.X + cos * point3.Y); point3 = new VoronoiVertex(p3X, p3Y); var(centerX, centerY, radius) = GetCircle(point1, point2, point3); var centerX2 = (cos * centerX + sin * centerY); var centerY2 = (-sin * centerX + cos * centerY); Radius = radius; X = centerX2; Y = centerY2; }
public TreeItem(VoronoiVertex node) { Point = node; }
public SeedEvent(Vertex vector) { Vertex = new VoronoiVertex(vector.X, vector.Y); }