I was wondering if one could distribute points on a "cap" of a sphere, following a normal distribution of the points instead of a uniform distribution. This normal could be centered at the cap. Maybe one can use SpherePoints[]
?
By "cap" I mean that we select only these points within a radius of some reference point. For instance, using the case for uniform points (from Carl Woll's answer here):
SeedRandom[1]
numberofPoints = 1000;
radiusofCap = .8;
ctr = RandomPoint[Sphere[]];
pts = RandomPoint[
RegionIntersection[Ball[ctr, radiusofCap], Sphere[]],
numberofPoints];
Graphics3D[{Red, Point@pts, White, Opacity[.5], Sphere[]}]
We get:
How could we extend this so that the points are normal-distributed? A solution might be in the form:
myNormalCapPoints[sphereRadius_, capRadius_, numberofPoints_, std_] :=
Where we take the desired sphere and cap radius, then select a point on the sphere (randomly perhaps?), and generate the normal-distributed points around it with some standard deviation from the reference point.
Thanks!
Note/update 1: It would be like a 2D gaussian cloud of points on the surface of the sphere (at the "cap").