如何 remove/reduce rgl 图中球体的光泽度
how to remove/reduce shininess of spheres in rgl plot
我有以下数据框:
df <- data.frame(x=c(1,3,-3,-2), y=c(2,5,2,1),z=c(1,7,4,1))
我使用以下 rgl 代码:
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)
并得到以下内容:
现在,我喜欢我的身材,但想减少gloss/shininess(甚至完全消除它)。它占用了我太多的绘图角色。我该怎么做?
我尝试将光泽度作为参数传递,虽然它有些帮助,但并没有完全消除它。即使光泽度为128(最大值),它也没有完全摆脱它。
library(rgl)
open3d()
plot3d(df,col=3,type="p", radius=0.5)
plot3d(df,col=rgb(1,0,0.3),alpha=.3, add=T,type="s",radius=1, shininess=128)
然后我得到:
我能否完全去除光泽,或者至少以一种几乎不存在的方式去除光泽?
如果将 specular
material 颜色设置为黑色,您将看不到任何光泽。更极端的版本是将 lit
设置为 FALSE
。例如,这里的球体是用 specular = "black"
:
绘制的
黑点是你画的点。在这里,它们是用 lit = FALSE
:
绘制的
这消除了人们用于深度感知的重要线索,因此我不推荐它。
编辑添加:如果您正在绘制透明球体,我推荐的另一件事是:添加 back = "cull"
。否则,在某些旋转中,球体的正面和背面之间会出现奇怪的相互作用。
我有以下数据框:
df <- data.frame(x=c(1,3,-3,-2), y=c(2,5,2,1),z=c(1,7,4,1))
我使用以下 rgl 代码:
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)
并得到以下内容:
现在,我喜欢我的身材,但想减少gloss/shininess(甚至完全消除它)。它占用了我太多的绘图角色。我该怎么做?
我尝试将光泽度作为参数传递,虽然它有些帮助,但并没有完全消除它。即使光泽度为128(最大值),它也没有完全摆脱它。
library(rgl)
open3d()
plot3d(df,col=3,type="p", radius=0.5)
plot3d(df,col=rgb(1,0,0.3),alpha=.3, add=T,type="s",radius=1, shininess=128)
然后我得到:
我能否完全去除光泽,或者至少以一种几乎不存在的方式去除光泽?
如果将 specular
material 颜色设置为黑色,您将看不到任何光泽。更极端的版本是将 lit
设置为 FALSE
。例如,这里的球体是用 specular = "black"
:
黑点是你画的点。在这里,它们是用 lit = FALSE
:
这消除了人们用于深度感知的重要线索,因此我不推荐它。
编辑添加:如果您正在绘制透明球体,我推荐的另一件事是:添加 back = "cull"
。否则,在某些旋转中,球体的正面和背面之间会出现奇怪的相互作用。