2016-03-07 9 views
0

В rgl вы можете настроить направление камеры с помощью rgl.viewpoint. Он принимает theta, phi: полярные координаты. Они определяют положение камеры, смотрящей на начало координат. Однако есть еще одна степень свободы: угол поворота камеры вдоль вектора «глаз». То есть можно представить два вектора, связанных с камерой: вектор «глаз» и «вверх» вектор; theta и phi позволяют настраивать вектор «глаз», но я хочу затем отрегулировать «вверх» вектор после него. Можно ли это сделать?Поверните камеру вдоль направления «глаз» в rgl

Я думаю, что это можно сделать с помощью параметра userMatrix («матрица 4x4 с указанием точки зрения пользователя»), но я не нашел информации, как ее использовать.

ответ

1

Раздел справки «par3d» документирует процесс рендеринга в разделе «Рендеринг». Это часто сложно добиться того, что вы просите, но в данном случае это не так уж трудно:

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

будет вращаться на 20 градусов вокруг оси пользователя, т.е. прямой видимости.