Is there a way to make a shading interpolation on an image plot? Something similar to matlab 'shading interp', I think it is called Gouraud shading.
What I want is to make a image plot look nicer. with image() it looks very facetted, and I would like to make it look smoother. I've tried with interp.surface() in fields package but it (obviously) makes nan values at the borders and around nan. Maybe an example would make me explain better: data(volcano) par(mfrow=c(1,2)) x <- 10*(1:nrow(volcano)) y <- 10*(1:ncol(volcano)) volcano[seq(1,87,by=10),seq(1,61,by=10)]<-NA; image(x, y, volcano, col = terrain.colors(100)) ## This is what I've tried with interp.surface() library(fields) newx<-seq(10,870,by=2); newy<-seq(10,610,by=2); volcano2<-interp.surface(list(x=x,y=y,z=volcano),make.surface.grid(list(newx ,newy))); dim(volcano2)<-c(length(newx),length(newy)); image(newx,newy,volcano2, col = terrain.colors(100)) As you see NANs are lareger in the interpolated image, I've modified the interp.surface function to take the nearest neightbour when any of the 4 bounding points is NA but the result is still not perfect, thats why I'm looking for a function that does Gouraud shading. Thanks for all the help, Angel ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help