I am trying to draw circular patches of given angular radii around arbitrary points on a sphere. I am able to use, for example,
SphericalPlot3D[1, {θ, 0, Pi/3}, {ϕ, 0, 2 Pi}, PlotStyle -> {Black, Opacity[0.7]},
Mesh -> None]
and
SphericalPlot3D[1, {θ, (2 Pi)/3, Pi}, {ϕ, 0, 2 Pi}, PlotStyle -> {Black, Opacity[0.7]},
Mesh -> None]
to create angular patches of (angular) radius $\pi/3$ around the north and south poles of the sphere, respectively, but what if I want to create two patches around two arbitrary points on the surface of the sphere, and then draw in the rest of the sphere in some other background color? Thank you!






Norm[{x,y,z}-{x1,y1,z1}] < cdefines a ball of radius c centered at (x1,y1,z1). It is, to me, easier to define the center of the ball to be on the surface of the sphere, so (x1,y1,z1) = R(sin\theta cos\phi, sin\theta sin\phi, cos\theta). Then, to get a circular patch with angular radius \gamma centered at (\theta, \phi) (or, equivalently, (x1,y1,z1)), the radius of the ball (with center (x1,y1,z1)) should be c = R \sqrt{ 2(1 - cos\gamma) }. – AnInquiringMind Feb 23 '16 at 04:00