Нарисовать спираль

Создадим новый проект Windows Forms App

public Form1()
{
    InitializeComponent();
    DoubleBuffered = true;  // включим двойную буферизацию 
    Paint += Form1_Paint;     // подпишемся на событие Paint (отрисовки) формы
}

Для отрисовки спирали будем двигаться по ней увеличивая текущий угол и вычисляя текущую позицию (координаты точки) для данного угла, постепенно отрисовывая таким образом линию спирали. 

private void Form1_Paint(object? sender, PaintEventArgs e)
{
    var gr = e.Graphics;
    gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; // включаем сглаживание
    gr.Clear(Color.White);  // очищаем экран белым цветом
    const int turnsQty = 5; // количество полных витков спирали
    const int degreeIncrement = 3;  // приращение угла на каждой итерации цикла, чем меньше число, тем глаже будет спираль
    var centerX = ClientRectangle.Width / 2;
    var centerY = ClientRectangle.Height / 2;
    double radiusStep = 50; // приращение радиуса на каждый полный оборот спирали 360° 
    PointF? prevPoint = null;
    for (int ang = 0; ang < turnsQty * 360; ang += degreeIncrement)  // проходимся циклом от 0 градусов до количество витков умноженное на 360 градусов. 
    {
        var angRadians = ang * Math.PI / 180.0; // переводим градусы в радианы
        var radius = (ang / 360.0) * radiusStep; // вычисляем радиус для текущего угла на спирали
        // зная радиус и угол вычисляем координаты точки на спирали 
        var x = centerX + radius * Math.Cos(angRadians); 
        var y = centerY + radius * Math.Sin(angRadians);

        PointF point1 = new PointF((float)x, (float)y);

        if (prevPoint != null)
            gr.DrawLine(Pens.Black, prevPoint.Value, point1); // рисуем линию от предыдущей точки до текущей (вычисленной на этой итерации)
        
        prevPoint = point1; // сохраняем точку вычисленную на этой итерации как предыдущую
    }
}

Получим следующий результат

Готовый проект можно найти здесь

Упражнения

1. Переделать цикл таким образом чтобы все расчеты сразу производились в радианах и не требовался пересчет на каждой итерации