Jak zamienić iterację na rekurencję?
Mam zamienić iteracyjną funkcję obliczającą fraktal na rekurencję. Jak to zrobić?
Funkcja (rysująca fraktal) ma postać:
void licz_Wspolrzedne()
{
wsp[1].x = 1;
wsp[1].y = 1;
for (int i = 2; i <= 5000; i++)
{
rownanie = losuj_rownanie();
if (rownanie == 1)
{
wsp[i].x = (-0.4)*wsp[i-1].x - 1;
wsp[i].y = (-0.4)*wsp[i-1].y + 0.1;
}
else
{
wsp[i].x = (0.76)*wsp[i-1].x - (0.4)*wsp[i-1].y;
wsp[i].y = (0.4)*wsp[i-1].x + 0.76*wsp[i-1].y;
}
}
}
Punkty fraktalu są zapisywane strukturą:
struct wspolrzedne
{
double x;
double y;
};