Если вектор v
находится в пространстве вида, то ось x указывает влево, ось y направлена вверх, а ось z - вне области просмотра.
Рассчитать долготу и широту -см. Географическая система координат :
import math
lenXY = math.sqrt(v[0]*v[0] + v[2]*v[2])
lon = math.atan2(v[0], v[2])
lat = math.atan2(v[1], -lenXY)
Поворот вокруг осей x и y:
glPushMatrix()
glTranslatef(v[0], v[1], v[2])
glRotatef(math.degrees(lon), 0, 1, 0)
glRotatef(math.degrees(lat), 1, 0, 0)
# [...]
glPopMatrix()