diff --git a/vector3.py b/src/vector3.py copy from vector3.py copy to src/vector3.py --- a/vector3.py +++ b/src/vector3.py @@ -67,14 +67,21 @@ class Vector3: return Vector3(self.y*v.z-self.z*v.y, self.z*v.x-self.x*v.z, self.x*v.y-self.y*v.x) def __ixor__(self,v): - self.x=self.y*v.z-self.z*v.y - self.y=self.z*v.x-self.x*v.z - self.z=self.x*v.y-self.y*v.x + (self.x, self.y, self.z)=(self.y*v.z-self.z*v.y, self.z*v.x-self.x*v.z, self.x*v.y-self.y*v.x) return self def __abs__(self): return math.sqrt(self.x*self.x + self.y*self.y + self.z*self.z) + ## Multiplicates the vector as to set the first nonzero coordinate to 1. + def canonize(self): + if self.x!=0: factor=self.x + elif self.y!=0: factor=self.y + elif self.z!=0: factor=self.z + else: factor=1 + self/=factor + return self + def __str__(self): return str((self.x,self.y,self.z))