def calc_field(self, source_point, observation_point):
    (x, y, z) = observation_point
    (Rx, Ry, Rz) = source_point
    r = math.sqrt(((((x - Rx) ** 2) + ((y - Ry) ** 2)) + ((z - Rz) ** 2)))
    if (r < 1e-07):
        efield = np.array((0, 0, 0))
    else:
        efield = ((observation_point - source_point) / (r ** 3))
    return efield
def calc_field(self, source_point, observation_point):
    (x, y, z) = observation_point
    (Rx, Ry, Rz) = source_point
    r = math.sqrt(((((x - Rx) ** 2) + ((y - Ry) ** 2)) + ((z - Rz) ** 2)))
    if (r < 1e-07):
        efield = np.array((0, 0, 0))
    else:
        efield = ((observation_point - source_point) / (r ** 3))
    return efield