Exemplo n.º 1
0
    def get_pos_y(self):
        """
        Return y position.

        :return:
        """
        return self._r * _sin(self._theta) * _sin(self._phi)
 def get_pos_y(self):
     """
     Return y position.
     :return:
     :rtype: float, int
     """
     return self._r * _sin(self._theta) * _sin(self._phi)
 def place(self):
     """
     Place camera in world.
     """
     _glLoadIdentity()
     _gluLookAt(self._r * _sin(self._theta) * _cos(self._phi),
                self._r * _sin(self._theta) * _sin(self._phi),
                self._r * _cos(self._theta), 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)
Exemplo n.º 5
0
    def get_view(self):
        """
        Get view matrix.

        :return:
        """
        return _tr2.lookAt(
            _np.array([self._r * _sin(self._theta) * _cos(self._phi),
                       self._r * _sin(self._theta) * _sin(self._phi),
                       self._r * _cos(self._theta)]),
            _np.array([self._center.get_x(), self._center.get_y(), self._center.get_z()]),
            _np.array([self._up.get_x(), self._up.get_y(), self._up.get_z()])
        )
Exemplo n.º 6
0
    def get_pos_x(self):
        """
        Return x position.

        :return:
        """
        return self._r * _sin(self._theta) * _cos(self._phi)
 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))