Я хочу повернуть камеру вокруг целевой точки с помощью OpenGL.Я перешел на сферическую систему координат из декартовой системы координат, но у меня возникли проблемы при вращении, когда x = 0, z = 0.
Я использовал:
gluLookAt(eye_x, eye_y, eye_z, at_x, at_y, at_z, up_x, up_y, up_z)
в питоне.
Приведенный ниже код изменяет систему координат.
oldxpos = pos[0]
oldypos = pos[1]
deltax = (oldxpos - xpos)*0.01
deltay = (oldypos - ypos)*0.01
eye_z = r*np.sin(deltay)*np.cos(np.pi/2-deltax)
eye_x = r*np.sin(deltay)*np.sin(np.pi/2-deltax)
eye_y = r*np.cos(deltay)
Я думаю, что проблема связана с тригонометрическим уравнением ... но я не знаю точно, что это за проблема.Я хочу вращать камеру, как блендер.