def calc_field3D(self, point):
    (x, y, z) = point
    (Rx, Ry, Rz) = self.point_charge_loc
    r = math.sqrt(((((x - Rx) ** 2) + ((y - Ry) ** 2)) + ((z - Rz) ** 2)))
    efield = ((point - self.point_charge_loc) / (r ** 3))
    return Vector(efield).shift(point)
def calc_field3D(self, point):
    (x, y, z) = point
    (Rx, Ry, Rz) = self.point_charge_loc
    r = math.sqrt(((((x - Rx) ** 2) + ((y - Ry) ** 2)) + ((z - Rz) ** 2)))
    efield = ((point - self.point_charge_loc) / (r ** 3))
    return Vector(efield).shift(point)