示例#1
0
        public static IEnumerable <Point4Dmm> CircleToSquare()
        {
            var metricWidth = 30;
            var points      = new List <Point4Dmm>();
            var scale       = 100;

            for (var i = 0; i <= scale; i += 1)
            {
                var percentage = 1.0 * i / scale;

                var rectPercentage = percentage + 1.0 / 8;
                if (rectPercentage > 1.0)
                {
                    rectPercentage -= 1;
                }

                var circleCoord = ShapeDrawing.Circle(percentage, metricWidth);
                var rectCoord   = ShapeDrawing.Rectangle(rectPercentage, metricWidth);

                var combinedCoord = new Point4Dmm(-circleCoord.C1 + metricWidth, circleCoord.C2 + metricWidth, -rectCoord.C1 + metricWidth, -rectCoord.C2 + metricWidth);
                points.Add(combinedCoord);
            }

            return(points);
        }
示例#2
0
        public static IEnumerable <Point4Dmm> CircleToPoint()
        {
            var metricWidth = 30;
            var size        = metricWidth;
            var points      = new List <Point4Dmm>();

            for (var i = 0; i <= 100; ++i)
            {
                var percentage = i / 100.0;

                var point         = new Point2Dmm(0, 0);
                var circCoord     = ShapeDrawing.Circle(percentage, size);
                var combinedCoord = new Point4Dmm(-point.C1 + size, point.C2 + size, -circCoord.C1 + size, -circCoord.C2 + size);
                points.Add(combinedCoord);
            }

            return(points);
        }