Esempio n. 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);
        }
Esempio n. 2
0
        public static PlanBuilder Shape4dTest()
        {
            var metricShapeThickness = 300;
            var points          = ShapeDrawing.CircleToSquare();
            var projector       = new PlaneProjector(metricShapeThickness, Constants.FullWireLength);
            var projectedPoints = projector.Project(points);
            var planner         = new StraightLinePlanner4D(Speed.FromDeltaT(3000));

            return(planner.CreateConstantPlan(new Trajectory4D(projectedPoints.As4Dstep())));
        }
Esempio n. 3
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);
        }
Esempio n. 4
0
 /// <summary>
 /// Draws multicross by using ramped lines.
 /// </summary>
 public static PlanBuilder AcceleratedMultiCross()
 {
     return(ShapeDrawing.DrawByRampedLines(ShapeDrawing.MulticrossCoordinates));
 }