在 rgl 中沿 "eye" 方向旋转相机

Rotate camera along "eye" direction in rgl

rgl中,您可以使用rgl.viewpoint设置相机方向。它接受 thetaphi:极坐标。它们指定相机在原点处的位置。然而,还有另一个自由度:相机沿 "eye" 向量的旋转角度。 IE。可以想象与相机相关的两个向量:"eye"向量和"up"向量; thetaphi 允许调整 "eye" 向量,但我想在它之后调整 "up" 向量。可以吗?

我想可以使用 userMatrix 参数(«4x4 矩阵指定用户视角»)来实现,但我没有找到如何使用它的信息。

?par3d 帮助主题在 "Rendering" 部分记录了渲染过程。完成您的要求通常很棘手,但在这种情况下并不难:

par3d(userMatrix = rotationMatrix(20*pi/180, 0,0,1) 
                   %*% par3d("userMatrix"))

将围绕用户的 z 轴,即视线旋转 20 度。