1. A little geometry

Here's a vector $X$ with 2-norm 1.5, which we will think of as a spacecraft in orbit around the unit sphere:

X = [-1  -1.1, -.2];
norm(X)
ans =
   1.500000000000000

Let's use the vector-valued part of Spherefun to define the field of vector distances between $X$ and points on the sphere and $X$:

d = spherefunv(@(x,y,z) X(1)-x, @(x,y,z) X(2)-y, @(x,y,z) X(3)-z);

Here is the scalar function representing $|d|$, that is, the the scalar distance between $X$ and points on the sphere:

r = sqrt(dot(d,d));

We confirm that the closest point on the sphere to $X$ is at distance $0.5$:

min_distance = min2(r)
min_distance =
   0.500000000000014

Similarly, the farthest point is at distance $2.5$:

max_distance = max2(r)
max_distance =
   2.499999999999999

Here is a contour plot of $r$ on the sphere, together with a red dot showing our little spacecraft.

contour(r,.6:.1:2,'k')
hold on, plot3(X(1),X(2),X(3),'.r','markersize',25), hold off
view(-10,35), axis equal, axis off

2. Inverse-square force

A great discovery of Newton (or was it Hooke?) is that the gravitational forces associated with a sphere of uniform mass distribution are the same as if all the mass were concentrated at the center. Accordingly, we know that if a unit mass is spread around the sphere and the spacecraft also has unit mass, then the inverse-square attraction between them should be $(1.5)^{-2}$:

force_exact = 1/1.5^2
force_exact =
   0.444444444444444

Let's confirm this prediction by computing the integral over the sphere. Since the area of the sphere is $4\pi$, the density of a uniformly distributed mass is

rho = 1/(4*pi)
rho =
   0.079577471545948

That gives us the following component of the force at each point, in the direction of $X$:

Xnormalized = X/norm(X);
force_function = rho*(Xnormalized*d)./r.^3;

Summing, we get the expected answer:

force = sum2(force_function)
force =
   0.444444444444444