triangles <- function(x,y,z,conn){ rgl.clear() len <- length(x) for(i in 1:len){ j <- i+1 if( j > len ){ j <- j-len } rgl.lines( c(x[i],x[j]), c(y[i],y[j]), c(z[i],z[j]), color="blue",size=2) } len <- ncol(conn) for(i in 1:len){ c <- conn[,i] xx <- c( x[c[1]+1], x[c[2]+1], x[c[3]+1] ) yy <- c( y[c[1]+1], y[c[2]+1], y[c[3]+1] ) zz <- c( z[c[1]+1], z[c[2]+1], z[c[3]+1] ) rgl.triangles( xx, yy, zz, color="red") } } main <- function(){ xyz <- rbind( c( 1.0, 0.0, 0.2), c( 0.0, 0.2, 0.0), c(-1.0, 0.0, -0.2), c(-0.5, -0.707, 0.2), c( 0.1414, -0.1, 0.0), c( 0.5, 0.707, -0.2), c(-0.5, 0.707, 0.2), c(-0.1414, -0.1, 0.0), c( 0.5, -0.707, -0.2) ) conn <- cbind( c( 0, 4, 8), c( 0, 1, 4), c( 1, 5, 4), c( 1, 6, 5), c( 1, 7, 6), c( 1, 2, 7), c( 7, 2, 3), c( 7, 3, 4), c( 4, 8, 7) ) triangles( xyz[,1], xyz[,2], xyz[,3], conn) }