set.seed(171)
t <- seq(0.2*pi,length=1000)
coords <- t(rbind(0+sin(t)*1,0+cos(t)*1))
plot(0,0,type="n",xlim=c(-1.5,1.5),ylim=c(-1.5,1.5),frame=F,xlab="Eixo x",ylab="Eixo y")
points(coords,cex=0.1)
abline(h=c(0),v=c(0),lty=3,lwd=0.5)
lines(c(0.01,0.99),c(0.01,0.01),lwd=2,lty=2,col="red")
text(0.5,0.1,"Raio=1")
plot(0,0,type="n",xlim=c(-1.5,1.5),ylim=c(-1.5,1.5),frame=F,xlab="Eixo x",ylab="Eixo y")
points(coords,cex=0.1)
abline(h=c(0),v=c(0),lty=3,lwd=0.5)
lines(c(-1,-1,-1,1,1,1,1,-1),c(-1,1,1,1,1,-1,-1,-1),lwd=2,col="darkgray")
lines(c(-1.01,1.01),c(-1.01,-1.01),lwd=2,lty=2,col="red")
text(0,-1.08,"Lado=2")
pi*1^2
2^2
(pi*1^2) / (2^2)
plot(0,0,type="n",xlim=c(-1.5,1.5),ylim=c(-1.5,1.5),frame=F,xlab="Eixo x",ylab="Eixo y")
points(coords,cex=0.1)
abline(h=c(0),v=c(0),lty=3,lwd=0.5)
lines(c(-1,-1,-1,1,1,1,1,-1),c(-1,1,1,1,1,-1,-1,-1),lwd=2,col="darkgray")
x.pos <- runif(1, min=-1, max=1)
y.pos <- runif(1, min=-1, max=1)
local.pos <- ifelse(x.pos^2 + y.pos^2 <= 1, TRUE, FALSE)
plot(0,0,type="n",xlim=c(-1.5,1.5),ylim=c(-1.5,1.5),frame=F,xlab="Eixo x",ylab="Eixo y")
points(coords,cex=0.1)
abline(h=c(0),v=c(0),lty=3,lwd=0.5)
lines(c(-1,-1,-1,1,1,1,1,-1),c(-1,1,1,1,1,-1,-1,-1),lwd=2,col="darkgray")
for(i in 1:500) {
x.pos <- runif(1, min=-1, max=1)
y.pos <- runif(1, min=-1, max=1)
local.pos <- ifelse(x.pos^2 + y.pos^2 <= 1, TRUE, FALSE)
points(x.pos,y.pos,pch=19,cex=0.5,col=ifelse(local.pos,"red","blue"))
}
n<-5000
x.pos <- runif(n, min=-1, max=1)
y.pos <- runif(n, min=-1, max=1)
local.pos <- ifelse(x.pos^2 + y.pos^2 <= 1, TRUE, FALSE)
dentro <- length(which(local.pos == TRUE))
dentro/n
(pi*1^2) / (2^2)
4*(dentro/n)
pi
estimativa<-vector()
for(i in 1:5000) {
estimativa[i] <- length(which(local.pos[1:i] == TRUE)) / (i)
}
passos<-round(seq(1,5000,length=200))
estimativa<-estimativa*4
for(i in passos) {
jpeg(sprintf("pi%05d.jpg",i), width = 300, height = 300)
plot(c(1:5000),estimativa[1:5000]*4,type="n",ylim=c(min(estimativa),max(estimativa)),xlab="Iterações",
ylab="Valor de Pi",main=paste("Iteração",i),frame=F)
points(c(1:i),estimativa[1:i],type="l",col="blue",lwd=2)
abline(h=pi,lty=3,col="red")
dev.off()
}
system("convert pi*.jpg -delay 10 pi.gif")
system("rm pi*.jpg")