[R] truncated cone / frustum in R rgl
Omphalodes Verna
omphalodes.verna at yahoo.com
Fri Jan 31 10:27:20 CET 2014
Dear list!
Here is a simplified script for cone in RGL (from rgl demos). I would like to draw a truncated cone / frustum using RGL in R. Do you have any suggestion how to modify code?
Thanks a lot, OV
library(rgl)
cone3d <- function(base=c(0,0,0), tip=c(0,0,1), rad=1, n=30) {
trans <- diag(4)
p1 <- c(0,1,0)
p2 <- c(1,0,0)
degvec <- seq(0, 2*pi,length = n+1)[-1]
ecoord2 <- function(theta) {base + rad * (cos(theta) * p1 + sin(theta) * p2)}
i <- rbind(1:n, c(2:n,1), rep(n+1, n))
v <- cbind(sapply(degvec, ecoord2), tip)
i <- rbind(i, rep(n+1 ,n))
v <- cbind(v, base)
i.x <- rbind(c(2:n, 1), 1:n, rep(n+2, n))
i.x <- rbind(i.x, rep(n+2, n))
i <- cbind(i, i.x)
v <- rbind(v, rep(1, ncol(v)))
return(rotate3d(qmesh3d(v, i), matrix=trans))
}
open3d()
q1 <- cone3d(tip = c(0,0,2))
shade3d(q1, col = "green"); axes3d(c('x','y','z')); box3d()
More information about the R-help
mailing list