在rgl中绘制椭圆体/扁球体

时间:2014-11-05 12:46:48

标签: r rgl

我一直在使用rgl绘制球体,但现在我需要绘制椭圆体。 该套餐包括ellipse3d;然而,这似乎是为了将椭球拟合到数据,使用矩阵和我不太擅长的东西。

我想要的是一种使用中心坐标和每个方向的刻度以类似于球体的方式绘制椭球的简单方法。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:3)

如果你不需要围绕轴旋转椭圆,那么你可以使用x的对角矩阵(这绘制一个球体,并定义虚拟"轴"沿x,y,z轴)并使用centrescale参数来移动位置并更改比例。

plot3d(ellipse3d(diag(3),centre=c(1,2,4),scale=c(1,2,5)))

答案 1 :(得分:2)

我的cda package中有一个,

library(cda)
library(rgl) 
## single ellipsoid
plot3d(rgl.ellipsoid(a=2,b=1,c=5))

enter image description here

## multiple ellipsoids, translated and rotated 
cl <- helix(0.5, 1, 36, delta=pi/6, n.smooth=1e3)
sizes <- equal_sizes(0.04,0.02,0.02,NROW(cl$positions))
rgl.ellipsoids(cl$positions, sizes, cl$angles, col="gold") 

enter image description here