如何从 R 中的 persp3d 图更改视角

How to change the view angle from persp3d plot in R

我有以下生成彩虹球的函数,

library(rgl)
f = function(s, t){
    cbind(cos(s) * cos(t),
    sin(s) * cos(t), 
    sin(t))
}

persp3d(f, slim = c(0, pi), tlim = c(0, 2*pi), col = rainbow,theta = 20,phi=60)

然而,'theta' 和 'phi' 似乎在这个命令中不起作用,无论我选择什么值,我仍然会得到这样一个特定的视图。

谁能告诉我如何解决这个问题?当我更改 'theta' 和 'phi' 的值时,我希望此图具有不同的视图。

thetaphi 不是 persp3d() 的参数,但您可以调用单独的函数 view3d() 来设置它们。如果您不想看到移动后的第一个显示,请在绘制之前使用 par3d(skipRedraw = TRUE) 并在之后恢复旧值。你的例子是

library(rgl)
f = function(s, t){
    cbind(cos(s) * cos(t),
    sin(s) * cos(t), 
    sin(t))
}

save <- par3d(skipRedraw = TRUE)
persp3d(f, slim = c(0, pi), tlim = c(0, 2*pi), col = rainbow)
view3d(theta = 20, phi = 60)
par3d(save)