.skip=function(){par3d(skipRedraw=TRUE)}
.draw=function(){par3d(skipRedraw=FALSE)}
rgl.sphgrid = function (radius = 1, axis.val=TRUE, col.long='red', col.lat='blue', col.rad='darkgreen',
col.axes='grey50', col.grid='grey', deggap = 15, longtype='H', add=FALSE,
radaxis=TRUE, radlab='Radius',col.radlab='black'){
if(add==FALSE){open3d()}
.skip()
for(lat in seq(-90,90,by=deggap)){
if(lat==0){col=col.axes}else{col=col.grid}
plot3d(sph2car(long=seq(0,360,len=100),lat=lat,radius=radius,deg=T),col=col,add=T,type='l')
}
for(long in seq(0,360-deggap,by=deggap)){
if(long==0){col=col.axes}else{col=col.grid}
plot3d(sph2car(long=long,lat=seq(-90,90,len=100),radius=radius,deg=T),col=col,add=T,type='l')
}
if(longtype=='H'){scale=15}
if(longtype=='D'){scale=1}
if(axis.val){
rgl.sphtext(long=0,lat=seq(-90,90,by=deggap), radius=radius*1.05, text = seq(-90,90,by=deggap), deg=TRUE, col = col.lat)
rgl.sphtext(long=seq(0,360-deggap,by=deggap),lat=0, radius=radius*1.05, text = seq(0,360-deggap,by=deggap)/scale, deg=TRUE, col = col.long)
}
if(radaxis){
.skip()
radpretty=pretty(c(0,radius))
radpretty=radpretty[radpretty<=radius]
lines3d(c(0,0),c(0,max(radpretty)),c(0,0),col=col.axes)
for(i in 1:length(radpretty)){
lines3d(c(0,0),c(radpretty[i],radpretty[i]),c(0,0,radius/50),col=col.axes)
text3d(0,radpretty[i],radius/15,radpretty[i],col=col.rad)
}
if(axis.val){
text3d(0,radius/2,-radius/25,radlab,col=col.radlab)
}
}
.draw()
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.