class q(list):
def __init__(self,t,x,y,z):
self.t = t
self.x = x
self.y = y
self.z = z
list.__init__(self,[t,x,y,z])
def __repr__(self):
return "Quaternion tools."
def show(self):
print self.t, self.x, self.y, self.z
def add(self, q2):
return(q(self.t + q2.t, self.x + q2.x, self.y + q2.y, self.z + q2.z));
def scalar_div(self, d):
return(q(self.t/d, self.x/d, self.y/d, self.z/d));
def scalar_x(self, d):
return(q(self.t * d, self.x * d, self.y * d, self.z * d));
def conj(self):
return q(self.t, -self.x, -self.y, -self.z)
def conj_1(self):
return q(-self.t, self.x, -self.y, -self.z)
def conj_2(self):
return q(-self.t, -self.x, self.y, -self.z)
def conj_3(self):
return q(-self.t, -self.x, -self.y, self.z)
def negate(self):
return q(-self.t, -self.x, -self.y, -self.z)