我正在使用persp,并试图改变视角。相关参数是theta和phi,但不幸的是,这些文档非常神秘(?persp):
theta,phi:定义观看方向的角度。theta给出了方位方向,phi给出了方位方向。
在Details一节中,它们将进行一些更循环的解释:
表面是。从
theta和phi定义的方向看原点。如果theta和phi都为零,则观察方向直接沿着负y轴。改变theta会改变方位,改变phi的纬度。
我用三维微积分来记住所有用于球面坐标的名字已经有一段时间了,而且即便如此,这些角度也从来没有被称为“方位”或“纬度”,而只是用它们的希腊语字母来表示。
我能猜到的最接近的是维基百科中关于球面坐标的图表:

这些是文档中提到的相同的theta和phi吗?我知道数学表示法在作者之间如果不是令人烦恼的不一致的话也是没有意义的。
发布于 2015-12-07 19:51:17
和往常一样,解决这个问题的最简单的方法(通常比看代码和IMO:如果您愿意,可以在链接处看到XRotate和ZRotate )是实验。
如您所见,theta围绕Z轴旋转,phi围绕X轴旋转,因此phi=90对应于直角视图.也就是说,与你上面所示的符号相反。

复制代码:
x<-seq(0,2,len=11)
y<-seq(0,2,len=11)
z<-outer(x,y,function(x,y){
(x>1&y<=1)*2+(x<=1&y>1)*1+(x>1&y>1)*(1-(x-1)*(y-1))})
colors<-c(rep(rep(c("red","blue"),c(5,5)),5),
rep(rep(c("yellow","green"),c(5,5)),5))
par(mfrow=c(2,3))
persp(x,y,z,theta=0,phi=30,col=colors,main="Theta: 0")
persp(x,y,z,theta=60,phi=30,col=colors,main="Theta: 60")
persp(x,y,z,theta=120,phi=30,col=colors,main="Theta: 120")
persp(x,y,z,phi=0,col=colors,main="Phi: 0")
persp(x,y,z,phi=30,col=colors,main="Phi: 30")
persp(x,y,z,phi=60,col=colors,main="Phi: 60")https://stackoverflow.com/questions/34141593
复制相似问题