R中的三维圆锥体和圆柱体
如何在R中绘制三维圆锥体和圆柱体?我认为你使用的是线框,但我在任何地方都找不到任何例子。我正在尝试做Matlab和Mathematica通常用来做的事情。如果可以像这些程序一样轻松地绘制3d对象,我真的很喜欢R。这就是Jaakko Nevalainen和Deepayan Sarkar如何使用lattice从:R中的三维圆锥体和圆柱体,r,R,如何在R中绘制三维圆锥体和圆柱体?我认为你使用的是线框,但我在任何地方都找不到任何例子。我正在尝试做Matlab和Mathematica通常用来做的事情。如果可以像这些程序一样轻松地绘制3d对象,我真的很喜欢R。这就是Jaakko Nevalainen和Deepayan Sarkar如何使用lattice从: 库(晶格) rgl-demos中有一个cone3d。非常感谢您的指导。是否有任何方法可以不使用rgl?你知道,我觉得没那么难。但我没有看到任何例子。 library(lattice)
库(晶格)
rgl-demos中有一个cone3d
。非常感谢您的指导。是否有任何方法可以不使用rgl?你知道,我觉得没那么难。但我没有看到任何例子。
library(lattice)
A<-matrix(ncol=2, nrow=64)
for(i in 0:63) { A[i+1,1]<-sin(i/10)
A[i+1,2]<-cos(i/10) }
Sigma<-matrix(c(0.5,0.1,0.1,0.25),byrow=TRUE,nrow=2)
G<-eigen(Sigma)
E1<-t(G$vector%*%t(A))
E2<-t(diag(sqrt(G$values))%*%t(E1))
mu<-c(0.1,0.2)
E3<-sweep(E2,2,-mu)
a<-sqrt(max(rowSums(sweep(E3,2,mu)**2)))
b<-sqrt(min(rowSums(sweep(E3,2,mu)**2)))
astar<-as.numeric(a+abs(mu[1]))
bstar<-as.numeric(b+abs(mu[2]))
xstar<-seq(-astar,astar,len=50)
ystar<-seq(-bstar,bstar,len=50)
g<-expand.grid(x=xstar,y=ystar)
p1<-2*g$x*mu[1]/a**2+2*g$y*mu[2]/b**2
p2<-(g$x**2/a**2+g$y**2/b**2)
p3<-mu[1]**2/a**2+mu[2]**2/b**2-1
q<-(p1+sqrt(p1**2-4*p2*p3))/(2*p2)
z<-sqrt(1-(q*g$x)**2-(q*g$y)**2)
zstar<-(z/q)
ind0<-!(q<1)
g$z<-zstar
sc<-matrix(c(rep(c(-1,-1,-1),sum(ind0))),nrow=sum(ind0),byrow=TRUE)
gstar<-rbind(g[ind0,],sc*g[ind0,])
group<-c(rep(1,nrow(gstar)/2),rep(2,nrow(gstar)/2))
gstar$group<-group
gstar <- g
gstar$z[!ind0] <- NA
gstar$z2 <- -gstar$z
wireframe(z + z2 ~ x * y, gstar, colorkey=TRUE,drape=TRUE, scales=list(arrows=FALSE))