Misunderstanding code

,
 // drawing of circle centre at (0, 12) iterated up to 2*pi, i.e., 360 degree
    while (i <= 2 * pi)
    {
        y = 12 + 20 * cos(i);
        x = 20 * sin(i);
        i = i + 0.1;
        // flag1 is 0 to show motion in upward direction and is 1 for downward direction
        if (m == 288 && flag1 == 0)
        {
            j = -1;
            m = -288;
            flag1 = 1;
            score++;
        }
        if (m == 288 && flag1 == 1)
        {
            j = 1;
            m = -288;
            flag1 = 0;
        }
        // flag2 is 0 to show motion in rightward direction and is 1 for leftward direction
        if (n == 580 && flag2 == 0)
        {
            l = -1;
            n = -580;
            flag2 = 1;
        }
        if (n == 580 && flag2 == 1)
        {
            l = 1;
            n = -580;
            flag2 = 0;

can some one help me why we chose 20*cos
and why we mentioned n==580 m==288
why those numberes?