Distribuição aleatória de pontos.
Distribuição aleatória de pontos.

Uma das formas mais engraçadas de calcular uma aproximação ao número PI é a de considerar um círculo de raio um inscrito no quadrado de lado dois; gerar um conjunto de pontos aleatoriamente com coordenadas dentro do quadrado, e se o ponto estiver dentro do círculo é contado, no caso de cair fora não se conta. O número de pontos que cai dentro do círculo a dividir pelo número total de pontos vezes quatro é aproximadamente igual a 3.1415926... Como se pode verificar no gráfico seguinte da quantidade referida em função do número de pontos; a linhas vermelha é o valor 3.1415926...

Convergência para o valor de Pi.
Convergência para o valor de Pi.

O código seguinte em GNU/Octave faz todo o trabalho:

clf;
hold on
axis square
u=[0:.01:2*pi];
plot(cos(u),sin(u),'r-')

n=500;

x=2*rand(n,2)-1;
px=[];
j=0;
for i=1:n
  if sumsq(x(i,:))<1
    plot(x(i,1),x(i,2),'o')
    j=j+1;
    px(j)=4*j/i;
  else
  endif;
endfor;

[j i]
print -dpng "circPI.png"
clf;
hold on;
plot(px,'-')
plot([1:length(px)],pi*ones(1,length(px)),'r-')
print -dpng "circPIx.png"

Created: NaN

Last updated: 24-03-2026 [22:45]


For attribution, please cite this page as:

Charters, T., "Monte Carlo Pi": https://nexp.pt/montecarlo_pi.html (24-03-2026 [22:45])


(cc-by-sa) Tiago Charters - tiagocharters@nexp.pt