Рисование окружности - C#
Формулировка задачи:
Нашел алгоритм рисования окружности,пытаюсь переделать под сишарп не могу понять пару вопросов.
Листинг программы
- void Circle (int x, int y, int R, int color) //как в эту функцию вставить цвет(что вобще это за входной параметр такой?????)
- {
- int a;
- int x1;
- int x2;
- int y1;
- int y2;
- x2=x+R;
- y2=y;
- for ( int a=1; a<=360; a++)
- {
- x1=x2; y1=y2;
- x2=round(R*cos(a))+x;
- y2=round(R*sin(a))+x;
- Line (x1, y1, x2, y2, color); //что это за строка и какую роль она играет,что с ней делать в дальнейшем????
- }
- }
Решение задачи: «Рисование окружности»
textual
Листинг программы
- public static void Dyga(Graphics DrawingArea, Color color, float centerX, float centerY, float radius, float angle1, float angle2)
- {
- angle1 = (float)((angle1 / 180) * Math.PI); //
- angle2 = (float)((angle2 / 180) * Math.PI); // переход из градусов в радианы
- float koef = (float)(Math.PI * 2 / Math.Abs(angle2 - angle1)); //определение
- float iterations = (float)Math.Round((2*radius+5) / koef); //оптимального количества
- float delta = (angle2 - angle1) / iterations; //итераций
- float x1 = centerX + radius * (float)Math.Cos(angle1);
- float y1 = centerY - radius * (float)Math.Sin(angle1);
- for (int i = 0; i < iterations; i++)
- {
- angle1 += delta;
- float x2 = centerX + radius * (float)Math.Cos(angle1);
- float y2 = centerY - radius * (float)Math.Sin(angle1);
- DrawingArea.DrawLine(color, x1, y1, x2, y2);
- x1 = x2;
- y1 = y2;
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д