示例#1
0
        private void Start()
        {
            object counter = Convert.ToInt32(count.Text) + 1;

            count.Text = counter.ToString();
            double marginX = (canvas.Width - 2 * _circleRadius) / 2;
            double marginY = (canvas.Height - 2 * _circleRadius) / 2;

            //рассчитываем координаты точек на окружности
            Point[] circlePoints = CirclePointsCalculator.CalcCirclePoints(_circlePointCount, _circleRadius, marginX + _circleRadius, marginY + _circleRadius);

            //рисуем основную окружность
            DrawCircle(_circleRadius, _mainCircleBrush, marginX, marginY);

            //рисуем точки на окружности ввиде маленьких кружочков
            foreach (var point in circlePoints)
            {
                DrawCircle(_pointRadius, _pointBrush, point.X - _pointRadius, point.Y - _pointRadius, true);
            }


            for (int i = 0; i < circlePoints.Length; i++)
            {
                Brush color = Color();
                DrawLine(circlePoints[i], circlePoints[i * (int)counter % circlePoints.Length], color);
            }
        }
        private void Start()
        {
            double marginX = (canvas.Width - 2 * _circleRadius) / 2;
            double marginY = (canvas.Height - 2 * _circleRadius) / 2;

            //рассчитываем координаты точек на окружности
            Point[] circlePoints = CirclePointsCalculator.CalcCirclePoints(_circlePointCount, _circleRadius, marginX + _circleRadius, marginY + _circleRadius);

            //рисуем основную окружность
            DrawCircle(_circleRadius, _mainCircleBrush, marginX, marginY);

            //рисуем точки на окружности ввиде маленьких кружочков
            foreach (var point in circlePoints)
            {
                DrawCircle(_pointRadius, _pointBrush, point.X - _pointRadius, point.Y - _pointRadius, true);
            }

            //todo: из каждой точки на окружности провести линию, используя метод DrawLine
            //Номер точки, в которую нужно вести линию вычисляется по формуле из видео
            //int k = 0;
            for (int i = 0; i < circlePoints.Length; i++)
            {
                int toPoint = (int)(i * _factor % _circlePointCount);
                //if (toPoint > (_circlePointCount - _factor))
                //{
                //    toPoint = (int)(toPoint - (i * _factor) + k);
                //    k++;
                //}
                DrawLine(circlePoints[i], circlePoints[toPoint], _lineBrush);
            }
        }
示例#3
0
        private void Start()
        {
            double marginX = (canvas.Width - 2 * _circleRadius) / 2;
            double marginY = (canvas.Height - 2 * _circleRadius) / 2;

            //рассчитываем координаты точек на окружности
            Point[] circlePoints = CirclePointsCalculator.CalcCirclePoints(_circlePointCount, _circleRadius, marginX + _circleRadius, marginY + _circleRadius);

            //рисуем основную окружность
            DrawCircle(_circleRadius, _mainCircleBrush, marginX, marginY);

            //рисуем точки на окружности ввиде маленьких кружочков
            foreach (var point in circlePoints)
            {
                DrawCircle(_pointRadius, _pointBrush, point.X - _pointRadius, point.Y - _pointRadius, true);
            }

            //todo: из каждой точки на окружности провести линию, используя метод DrawLine
            //Номер точки, в которую нужно вести линию вычисляется по формуле из видео
            int multiplier = 64;

            for (int i = 1; i < _circlePointCount; ++i)
            {
                DrawLine(circlePoints[i], circlePoints[multiplier * i % _circlePointCount], _lineBrush);
            }
        }
示例#4
0
        private void Start()
        {
            double marginX = (canvas.Width - 2 * _circleRadius) / 2;
            double marginY = (canvas.Height - 2 * _circleRadius) / 2;

            //рассчитываем координаты точек на окружности
            Point[] circlePoints = CirclePointsCalculator.CalcCirclePoints(_circlePointCount, _circleRadius, marginX + _circleRadius, marginY + _circleRadius);

            //рисуем основную окружность
            DrawCircle(_circleRadius, _mainCircleBrush, marginX, marginY);

            //рисуем точки на окружности ввиде маленьких кружочков
            foreach (var point in circlePoints)
            {
                DrawCircle(_pointRadius, _pointBrush, point.X - _pointRadius, point.Y - _pointRadius, true);
            }

            //todo: из каждой точки на окружности провести линию, используя метод DrawLine
            //Номер точки, в которую нужно вести линию вычисляется по формуле из видео


            for (int firstPoint = 0; firstPoint < _circlePointCount; firstPoint++)
            {
                double secondPoint = firstPoint * _factor % _circlePointCount;

                DrawLine(circlePoints[firstPoint], circlePoints[Convert.ToInt32(secondPoint)], _lineBrush);
            }
        }