Hi the list,

I write a short function to draw lines in 3D, showing then turning.
At some point, I add "delais" to slow down the rotation.


So two questions:

1) I try to find a library to draw animate lines in 3D but I did not find. That surprise me since it is very simple to do. Did I forget to look somewhere ?

If it does not exists and I have to use my own function :
2) Is it possible to use the time wasted in delais for some calculous ? In other word, can I run some calculous during a certain amount of time, then drawing a plot, then calculous then plot...

3) Is there a way to end the rotation less violant than Esc ?

Thanks for your help.

Here is my code :


----- 8< ---------------------------
data <- array(c(13,14,13,15, 14,15,16,15, 16,17,16,18 , 45,46,85,59, 43,58,70,56, 45,75,65,65),
               dim=c(4,3,2),dimnames=c("id","temps","var"))

plot3Dlines <- function(x,y,mean=TRUE,angle=20,delais=100000,color,...){
   time <- 1:dim(x)[[2]]
   var1 <- seq(min(x[,,1],na.rm=TRUE),max(x[,,1],na.rm=TRUE),length.out=11)
   var2 <- matrix(NA,length(time),length(var1))#outer(x, y, NA)
   var2[1,1] <- min(x[,,2],na.rm=TRUE)
   var2[length(time),length(var1)] <- max(x[,,2],na.rm=TRUE)
   nbLines<-min(100,dim(x)[1])
   if(missing(color)){color<-2:(nbLines+1)}else{}
   repeat{
res <- persp(x=time, y=var1, z=var2, theta = angle, phi = 10, expand = 0.5, col = "lightblue",
                    ltheta = 120, shade = 0.75, ticktype = "detailed",
                    xlab = "time", ylab = "var1", zlab = "var2")
       angle <- angle+1
       for(i in 1:nbLines){
           yy=x[i,,1]
           zz=x[i,,2]
           lines (trans3d(time, yy, zz, pmat = res),col=color[i])
       }
       for(k in 1:delais){}
   }
}
plot3Dlines(data)
------------------------------------

Thanks

Christophe

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to