Рисование окружности - 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;
}
}