def displace(point1, point2, factor):
    """Displace `point1` by ``factor * (point1 - point2)``.

    Parameters
    ----------
    point1 : iterable
        The position vector.
    point2 : iterable
        The second vector necessary to calculate the displacement vector.
    factor : float
        The scale factor.

    Returns
    -------
    new_point : list
        The displaced point.

    """
    dim = len(point1)
    new_point = [None] * dim
    coeff1 = 1.0 + factor
    for i in range(dim):
        new_point[i] = coeff1 * point1[i] - factor * point2[i]
    return new_point
