def place(self): """ Place camera in world. """ _glLoadIdentity() _gluLookAt(self._r * _sin(self._theta) * _cos(self._phi) + self._relpos.get_x(), self._r * _sin(self._theta) * _sin(self._phi) + self._relpos.get_y(), self._r * _cos(self._theta) + self._relpos.get_z(), self._center.get_x(), self._center.get_y(), self._center.get_z(), self._up.get_x(), self._up.get_y(), self._up.get_z())
def rotate_z(self, angle): """ Rotate eye position in z-axis. :param angle: Rotation angle :type angle: float, int """ x = self._pos.get_x() * _cos(angle) - self._pos.get_y() * _sin(angle) y = self._pos.get_x() * _sin(angle) + self._pos.get_y() * _cos(angle) z = self._pos.get_z() self._pos.set_x(x) self._pos.set_y(y) self._pos.set_z(z)
def rotate_center_z(self, angle): """ Rotate center around z. :param angle: Rotation angle :type angle: float, int """ rad = _math.sqrt(self._pos.get_x() ** 2 + self._pos.get_y() ** 2) self._pos.set_x(rad * _cos(self._angle)) self._pos.set_y(rad * _sin(self._angle))
def get_pos_y(self): """ Return y position. :rtype: float, int """ return self._r * _sin(self._theta) * _sin(self._phi)