Тема: Принуип побудови координатної сітки

Допоожіть розібратися з кодом. Дана чатикна малює горизонтальні, а потім вертикальні лінії так, щоб утворилась координатна сітка. Посніть, будь ласка, по якому принципу  це відбувається  та умову і тіло циклу

private: System::Void DrawGrid(Pen^ pen, Graphics^ g) {
             float dt = 20.0f / scale;    //шаг на масштаб

             pen->Width = 1 / scale;    // ширина карандаша

             // рисуем горизонтальные линии по всей длине picturebox
             for( float i = 0.f; i < (float)pictureBox1->Width/2.f; i += dt)
             {
                 g->DrawLine(pen,  i, (float)pictureBox1->Height/-2.f,  i, (float)pictureBox1->Height/2.f);
                 g->DrawLine(pen, -i, (float)pictureBox1->Height/-2.f, -i, (float)pictureBox1->Height/2.f);
             }

             // рисуем вертикальные по всей длине
             for( float i = 0.f; i < (float)pictureBox1->Width/2.f; i += dt)
             {
                 g->DrawLine(pen, (float)pictureBox1->Width/-2.f,  i, (float)pictureBox1->Width/2.f,  i);
                 g->DrawLine(pen, (float)pictureBox1->Width/-2.f, -i, (float)pictureBox1->Width/2.f, -i);
             }
         }

Дуже вдячна