如何从 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' 的值时,我希望此图具有不同的视图。
theta
和 phi
不是 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)
我有以下生成彩虹球的函数,
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' 的值时,我希望此图具有不同的视图。
theta
和 phi
不是 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)