Exemple #1
0
        private void DrawAxis(string axisName, double axisLength, double currentAngle)
        {
            var startPosition = new Primitives.Point(CanvasWidth / 2, CanvasHeight / 2);
            var endPosition   = new Primitives.Point(startPosition.TranslateByAngle(currentAngle, axisLength).X, startPosition.TranslateByAngle(currentAngle, axisLength).Y);

            DrawAxisLine(startPosition, endPosition);
            DrawAxisLabel(endPosition, currentAngle, axisName);
        }
Exemple #2
0
        private List <Tuple <double, double> > CalculateTicks(string axis, double currentAngle, double lineLength, bool alsoDraw)
        {
            var ticks = new List <Tuple <double, double> >();

            for (int i = 0; i < NumberOfTicks; i++)
            {
                var tickOffset   = (lineLength / NumberOfTicks) * (i + 1);
                var tickLocation = new Primitives.Point(CanvasWidth / 2, CanvasHeight / 2).TranslateByAngle(currentAngle, tickOffset);
                ticks.Add(new Tuple <double, double>(tickLocation.X + 0.5, tickLocation.Y + 0.5));

                if (alsoDraw)
                {
                    DrawTick(tickLocation.X, tickLocation.Y, tickLocation.TranslateByAngle(currentAngle, 1).X, tickLocation.TranslateByAngle(currentAngle, 1).Y);
                }
            }
            return(ticks);
        }