@Override
	public Vector3d getForceAt(Vector3d position, Matrix3d rotation,
			Vector3d point) {
		Vector3d localPoint = new Vector3d(point);
		localPoint.sub(position);

		if (localPoint.lengthSquared() > outerRadius * outerRadius) {
			return new Vector3d(0, 0, 0);
		}

		Vector3d force = new Vector3d(localPoint);
		force.normalize();
		force.scale(strength);

		if (localPoint.lengthSquared() < innerRadius * innerRadius) {
			return force;
		}

		double blast = 1 / (localPoint.length() - innerRadius);
		force.scale(blast);
		return force;
	}