这是我的3D绘图的R代码...我想生成这个3d绘图的2d切片。我在R中使用包rgl。
library(rgl)
> ncv1
[,1] [,2] [,3]
[1,] 0.0087173253 0.0015347787 0.0007591226
[2,] 0.0015347787 0.0066770936 -0.0001649119
[3,] 0.0007591226 -0.0001649119 0.0011324989
> ncv2
[,1] [,2] [,3]
[1,] 0.0080515223 0.0012391863 0.0006745652
[2,] 0.0012391863 0.0064364687 -0.0001695962
[3,] 0.0006745652 -0.0001695962 0.0011687981
> ntruemean
[1] 4.775067 5.596896 1.142223
> open3d()
wgl
10
plot3d(ellipse3d(ncv2,ntruemean),col="red",type='shade',xlim=c(-2,2),ylim=c(-2,2),zlim=c(-2,2))
plot3d(ellipse3d(ncv1,ntruemean),col="blue",type='wire',add=TRUE,xlim=c(-2,2),ylim=c(-2,2),zlim=c(-2,2))
rgl.postscript("persp3dd1.eps","eps")
答案 0 :(得分:0)
您可以在任何您喜欢的平面上轻松切片。您只需要以second=9
格式计算出平面方程的系数,这是第一年的线性代数问题。
我不能为你做那件事,因为我不知道你打算绘制什么椭圆,或者你在“正中心”是什么意思。您使用a x + b y + c z + d = 0
作为变量名称,但将其作为ntruemean
参数传递,这实际上没有意义。我怀疑你打算把它作为scale
参数传递。
假设这就是你的意思,这个剪辑在中心:
centre