You are on page 1of 4

FRAKTAL.

Układ iterowanych odwzorowań typu spirala

x' = -0.4x - 1
y' = -0.4y + 0.1 (F1)

x' = 0.76x - 0.4y


y' = 0.4x + 0.76y (F2)

Prawdopodobieństwo p(F2) = 0,9

Klosov A., wykład Algorytmy i Struktury Danych


FRAKTAL.
Układ iterowanych odwzorowań typu bazia

x' = 0.80x - 0,25y+ 0,05


y' = 0.68x +0,80y + 0.12 (F1)

x' = 0.80x + 0,25y - 0.05


y' =-0.68x + 0.80y + 0,12 (F2)

Prawdopodobieństwo p(F1) = p(F2) = 0,5

Klosov A., wykład Algorytmy i Struktury Danych


FRAKTAL.
Układ iterowanych odwzorowań typu roślina

x' = ax + by + c
y' = dx + ey + f

a b c d e f
F1 -0,67 -0,02 0 -0,18 0,81 10
F2 0,4 0,4 0 -0,1 0,4 0
F3 -0,4 -0,4 0 -0,1 0,4 0
F4 -0,1 0 0 0,44 0,44 -2

Klosov A., wykład Algorytmy i Struktury Danych


Fraktal typu spirala
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

#define p2 900 // okresla prawdopodobienstwo, zmieniac od 1 do 999

// przeksztalcenia afiniczne
void f1(double &x, double &y)
{ x = -.4*x-1;
y = -.4*y+.1;
};

void f2(double &x, double &y)


{
double xt=x,yt=y;
x = .76*xt-.4*yt;
y = .4*xt+.76*yt;
}

int main(void)
{
int gdriver = DETECT, gmode;
long i;
double x,y;
initgraph(&gdriver, &gmode, "c:\\tc\\bgi"); // <nalezy dopasowac
sciezke>

x = 1;
y = 1;
for(i=0;i<50000;i++)
{
putpixel(400+300*x,220-300*y,14);
if(random(1000)>p2)
f1(x,y);
else f2(x,y);
}
getch();
closegraph();
return 0;
}

Klosov A., wykład Algorytmy i Struktury Danych

You might also like