Ejemplo n.º 1
0
 def __init__(self, pos, r, thickness=0.0):
     if isinstance(pos, quaternion):
         self.__pos = pos
     else:
         self.__pos = quaternion(0, *(pos[:3]))
     if isinstance(r, quaternion):
         self.__r = r
     else:
         self.__r = quaternion(0, *(r[:3]))
     self.__thickness = thickness
Ejemplo n.º 2
0
 def __trace(self, psi_vector):
     if len(self.__lines) == 0:
         self.__add_trace()
         return
     m = psi_vector - quaternion(*self.__lines[-1])
     if m.norm() >= self.__strictness:
         self.__add_trace()
Ejemplo n.º 3
0
    def init_graphics(self, pos, radius):
        self.__graphics = True
        self.__pos = quaternion(0, *pos)
        self.__radius = radius
        self.__create_circles()
        self.__lines = []

        self.__list_x = None
        self.__list_y = None
        self.__list_z = None
        self.__list_mag = None
        self.__list_noise = None
        self.__graphs = False

        self.__secs_per_loc = 1
        self.__tracker = 0
Ejemplo n.º 4
0
 def rotate(self, quat):
     if isinstance(quat, quaternion):
         return self.__transform * quat * self.__transform_inverse
     return self.__transform * quaternion(0, *
                                          quat) * self.__transform_inverse
Ejemplo n.º 5
0
 def __set_transform_matrix(self):
     self.__transform = self.a_matrix(self.__azimuthal) * self.r_matrix(
         self.__radial)
     self.__transform_inverse = self.__transform.c()
     self.__translate = quaternion(0, -self.__d, 0, 0)
Ejemplo n.º 6
0
 def psi_vector(self):
     return quaternion(0, self.__psi.x(), self.__psi.y(),
                       self.__psi.z()) * self.__radius