scale vector
    Args:
      p: point (x, y)
      factor: scaling factor
      o: origin (x, y)

def scale(p, factor, o=(0, 0)):
    """ scale vector
    Args:
      p: point (x, y)
      factor: scaling factor
      o: origin (x, y)
    """
    v = vector(o, p)
    sv = v[0] * factor, v[1] * factor
    return translate(sv, o)