docs: def dot_product(p1, p2, o=(0, 0)):
      """ Returns dot product
      Args:
        p1, p2: point (x, y)
        o: origin
      """
      v1 = vector(o, p1)
      v2 = vector(o, p2)
      return v1[0] * v2[0] + v1[1] * v2[1]