code: def get_angle_between(self, other):
          
          # The scalar product is the sum of the squares of the
          # magnitude times the cosine of the angle - so normalizing the
          # vectors first means the scalar product is just the cosine of
          # the angle.
          normself = self.get_normalized()
          normother = other.get_normalized()
          sp = normself.get_scalar_product(normother)
          return math.acos(sp)
docs: Returns the smallest angle between this vector and the
          given other vector.