使用R中的rgl绘制半透明球体

lol*_*ity 3 plot geometry transparency r rgl

我有一组数据,看起来像:

    x   y   z
1   1   2   1
2   3   5   7
3   -3  2   4
4   -2  1   1
Run Code Online (Sandbox Code Playgroud)

所以每一行都在三维空间中记录点坐标.我想将所有的点都绘制成点,除了一个点,比如说15号作为半透明球体,我可以设置半径.然后我可以从图中看到数据中哪些点包含在球体中.我现在正在使用RGL包并执行以下操作:

> open3d()
> plot3d(readin,col=3,type="p")
> plot3d(readin[15,],col=2,add=T,type="s",radius=0.1)
Run Code Online (Sandbox Code Playgroud)

因此,第一个绘图命令将整个集合绘制为散点图,第二个绘图命令选择数据的第15行并将其绘制为球体并将其添加到上一个画布.我只是想知道我是否可以使球体半透明,以便我可以看到球体中包含哪些点,这意味着这些点非常接近我选择的点.

RGL有没有办法做到这一点你还可以提供另外一种方法来完成这项任务吗?

谢谢!

Mar*_*box 7

我认为你所寻找的是争论alpha.

df <- data.frame(x=c(1,3,-3,-2), y=c(2,5,2,1),z=c(1,7,4,1))

library(rgl)
open3d()
plot3d(df,col=3,type="p", radius=0.5)
plot3d(df,col=rgb(1,0,0.3),alpha=0.5, add=T,type="s",radius=1)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述