verovatnoca da ce slucajno izabrana tacka pasti u krug odnosno kvadrat je proporcionalna njihovim povrsinama.
na tome se zasniva monte karlo metoda.
Ako uzmemo da je povrsina kvadrata jedinicna za ovaj slucaj i u smislu povrsine i verovatnoce (znaci gledas random tacke koje
se uvek nalaze u kvadratu)
onda mozes da dobijes sledecu formulu:
KrBroj - broj onih tacaka koje su pale u krug (a dobijas vrlo jednostavno preko pitagorine teoreme i toga da su udaljeni
od centra kruga manje ili jednako poluprecniku)
KvBroj - broj "bacanja" tacaka, odnosno broj tacaka palih u kvadrat - a to su sve ...
formula se moze izvesti:
KrBroj:KvBroj = PovrsinaKruga:PovrsinaKvadrata (PovrsinaKvadrata - ovde je najbolje uzeti 1 odnosno kvadrat 1x1)
PovrsinaKruga = PovrsinaKvadrata*KrBroj/KvBroj
0.5^2*pi = 1*KrBroj/UkupnoBacanja (r kruga je za kvadrat povrsine 1 = 0.5)
odnosno
pi = 4*KrBroj/UkupnoBacanja ...
Eto ti formule, malo teorije i kako to napraviti :
pseudo code:
Code:
total = 0;
krug = 0;
for i=0 to MaxBacanja {
x = rand; // random broj u intervalu 0,1
y = rand; // random broj u intervalu 0,1
if ((x*x)+(y*y))<=0.25 then
krug = krug +1;
total = total + 1;
}
pi = 4*krug/total;
Sto je veci MaxBacanja, to je pi preciznije izracunat ...
Postoji nacin i da se odredi greska ali je to dosta matematike i ... :)