[R] shapes in rgl
    Greg Snow 
    Greg.Snow at intermountainmail.org
       
    Tue May 23 21:06:25 CEST 2006
    
    
  
Try this function (and modify it to your hearts content):
rgl.cones <- function(x,y,z,h=1,r=0.25, n=36, ...){
  r <- rep(r, length.out=length(x))
  h <- rep(h, length.out=length(x))
  step <- 2*pi/n
    for (i in seq(along=x)){
      for (j in seq(0, 2*pi-step, length=n)){
        tmp.x <- x[i] + c(0, cos(j)*r[i], cos(j+step)*r[i])
        tmp.z <- z[i] + c(0, sin(j)*r[i], sin(j+step)*r[i])
        tmp.y <- y[i] + h[i]/2*c(1,-1,-1)
        rgl.triangles(tmp.x,tmp.y,tmp.z,...)
      }
    }
} 
Hope this helps,
-- 
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
greg.snow at intermountainmail.org
(801) 408-8111
 
-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Duncan Golicher
Sent: Tuesday, May 23, 2006 12:29 PM
To: r-help at stat.math.ethz.ch
Subject: [R] shapes in rgl
Does anyone have a way of producing solid shapes other than spheres in rgl? I am using rgl to produce a simple visualisation of a forest model results using "lollipops". Its just a bit of fun, but as many of the trees are pines I would like to depict their crowns as cones. If there is a solution I need it to work under windows.
Here is the example.
library(rgl)
library(misc3d)
Trees3d<-function(x,y,z,rad,cols="lightgreen"){
  rgl.bg(color="white")
  rgl.spheres(x,(z-rad),-y,rad,col=cols,alpha=1)
  x<-rep(x,each=3)
  y<-rep(y,each=3)
  z<-rep(z-rad*2,each=3)
  a<-seq(3,length(x),by=3)
  y[a]<-NA
  x[a]<-NA
  z[a]<-NA
  a<-seq(1,length(x),by=3)
  z[a]<-0
  lines3d(x,y,z,col="brown",size=5,add=T)
  rgl.bbox(color="black", emission="lightgreen", specular="#3333FF", shininess=5, alpha=0.8 ) }
x<-runif(100,0,100)
y<-runif(100,0,100)
z<-runif(100,10,30)
rad<-z/5
Trees3d(x,y,z,rad)
Thanks,
Duncan Golicher
--
Dr Duncan Golicher
Ecologia y Sistematica Terrestre
Conservación de la Biodiversidad
El Colegio de la Frontera Sur
San Cristobal de Las Casas,
Chiapas, Mexico
Email: dgoliche at sclc.ecosur.mx 
Tel: 967 674 9000 ext 1310
Fax: 967 678 2322
Celular: 044 9671041021
United Kingdom Skypein; 020 7870 6251
Skype name: duncangolicher
Download Skype from http://www.skype.com
______________________________________________
R-help at stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
    
    
More information about the R-help
mailing list