def angle(self, other): '''Retorna o ângulo entre dois vetores em radianos Exemplo -------- >>> v = Vec2(5,0) >>> other = Vec2(0,5) >>> v.angle(other) 1.5707963267948966 ''' return m.acos((self.dot(other)) / (self.norm() * other.norm()))
def spherical_cords(self): '''Retorna as coordenadas esféricas desse vetor como uma tupla Exemplo -------- >>> v = Vec3(2,3,4) >>> v.spherical_cords() (5.385164807134504, 0.7335813236400831, 0.982793723247329) ''' radius = self.norm() theta = m.acos(self.z / radius) phi = m.atan(self.y / self.x) sph = (radius, theta, phi) return sph