import math class V3: """ operazioni con i vettori in tre dimensioni """ def __init__(self,x,y,z): self.x=x self.y=y self.z=z def __add__(self, altroV): return V3(self.x+altroV.x, self.y+altroV.y, self.z+altroV.z) def __str__(self): return '(' + str(self.x) + ', ' + str(self.y) + ', ' + str(self.z)+')' def opposto(self): return V3(-self.x, -self.y, -self.z) def __rmul__(self,k): return V3(k*self.x,k*self.y,k*self.z) def modulo(self): return math.sqrt(self.x**2+self.y**2+self.z**2) def somma(self, altroV): return self.__add__(altroV) def diff(self, altroV): vv=altroV.opposto() return self.__add__(vv) def prod_sca(self, altroV): return self.x*altroV.x+self.y*altroV.y+self.z*altroV.z def prod_vettore(self,aV): return V3(self.y*aV.z-self.z*aV.y, -self.x*aV.z+self.z*aV.x, self.x*aV.y-self.y*aV.x)