如何从R中的3D数据创建2D切片图?

时间:2017-09-18 14:18:11

标签: r plot 3d 2d rgl

这是我的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")

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以在任何您喜欢的平面上轻松切片。您只需要以second=9格式计算出平面方程的系数,这是第一年的线性代数问题。

我不能为你做那件事,因为我不知道你打算绘制什么椭圆,或者你在“正中心”是什么意思。您使用a x + b y + c z + d = 0作为变量名称,但将其作为ntruemean参数传递,这实际上没有意义。我怀疑你打算把它作为scale参数传递。

假设这就是你的意思,这个剪辑在中心:

centre