
Rubem, Este não é o meu caso, pois não tenho função, só um grid e o sólido é irregular. Por exemplo, como poderia calcular o volume da seguinte esfera: library(lattice) x <- 0:100 y <- 0:100 z <- 0:100 r <- 30 xyz <- expand.grid(x,y,z) dados <- cbind(xyz,as.numeric(sqrt(rowSums((xyz-50.5)^2))<=r)) colnames(dados) <- c("x","y","z","var") cloud(z ~ x * y, data = dados[dados$var==1,], groups = var, screen = list(x = -90, y = 70), xlim = c(0,100), ylim = c(0,100), zlim = c(0,100)) Att, Tiago Viera. De: Rubem Kaipper Ceratti <rubem_ceratti@yahoo.com.br> Para: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br>; Tiago Vieira <tiagovieira7@yahoo.com.br> Enviadas: Sexta-feira, 23 de Março de 2012 9:25 Assunto: Re: [R-br] Cálculo de Volume de Sólido Irregular Tiago, Se for possível calcular o valor da função em qualquer ponto, então talvez você possa utilizar integração por Monte Carlo. Por exemplo: # Cálculo de volume (1/8 de esfera de raio r) r<-1 ux<-runif(2e4,0,r) uy<-runif(2e4,0,r) uz<-runif(2e4,0,r) id<-ux^2+uy^2+uz^2<=r^2 mean(id)*r^3 # Aproximado 4*pi*r^3/(3*8) # Exato # Vizualização np=200 x<-seq(0,r,l=np) z<-outer(x,x,function(x,y) sqrt(r^2-x^2-y^2)) library(rgl) persp3d(x,x,z) points3d(ux,uy,uz,pch=20,col=ifelse(id==TRUE,4,2)) Att., Rubem