在rgl

时间:2017-02-08 10:29:33

标签: r 3d rgl

我正在尝试使用rgl在3D图形中添加球体,但我无法获得我想要的效果。 我的数据看起来像这样:

L     a     b    
89.09 -0.78 66.41    
89.41 -0.55 61.08    
89.18 -0.46 61.86

首先,我使用plot3d

绘制我的点数
open3d()    
plot3d(data)

然后,对于一个特定点,我想添加一个半径为1的球体:

spheres3d(dataforonepoint,radius=1,alpha=0.5)

问题是球体没有使用坐标,基于数据它实际上看起来不像球体,因为轴不在同一比例范围内。

enter image description here

2 个答案:

答案 0 :(得分:1)

您需要修正3个维度之间的宽高比:

plot3d(data, aspect = F)

来自doc:

  

方面:指示是否调整宽高比或新比率的逻辑。

答案 1 :(得分:1)

G Gamba适用于看起来像球体的球体。

如果你想要一个在非等距刻度上几何正确的球体(所以它不会看起来像一个球体),你可以使用ellipse3d()来绘制它。例如,

data <- cbind(rnorm(10), rnorm(10), 2*rnorm(10))
plot3d(data)
shade3d(ellipse3d(diag(3), centre = data[1,], t = 1), alpha = 0.5)