def _shift(x, y, z, A, B, C, d):
    """
    Shift point p=(x, y, z) along n=(A, B, C) to distance d.

    It is assumed that |n| = 1. In many cases I define coordinates of n manually
    and thus know in advance that they are normalized. Do not computing
    normalization here helps to save this computation for these case.
    """
    xx = x + A * d
    yy = y + B * d
    zz = z + C * d
    return xx, yy, zz
