コード例 #1
0
        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;
        }
コード例 #2
0
ファイル: TreeItem.cs プロジェクト: ToolReaz/voronoi-qt
 public TreeItem(VoronoiVertex node)
 {
     Point = node;
 }
コード例 #3
0
ファイル: SeedEvent.cs プロジェクト: ToolReaz/voronoi-qt
 public SeedEvent(Vertex vector)
 {
     Vertex = new VoronoiVertex(vector.X, vector.Y);
 }