Generate a random location within a geometry (sphere) at each loop iteration

Hi all:
Thanks in advance for all great answers in this forum, I have been using it a lot since I recently started using Grasshopper.
I am a very beginner in Grasshopper and I am working on a loop in which at each iteration increases the size of the geometry (sphere) and it generates a random point (3D) and creates a segment by connecting that new random point to the mid-point of the previous segment created.
My questions are:

  1. How can I generate a random point that lies inside a closed surface and but in the surface? I used PopGeo but it generates a point on the surface of my geometry instead of inside.
  2. It seems that each random point generated has a position that is very similar to the previous one but at a bigger radius. How can I avoid that and make each random point generated at each iteration of the loop to be random inside the spherical surface?

Just dealing with generating random points within a sphere, one approach is to use polar points randomly distributed from the sphere’s centre: (111.6 KB)
Of course, this is specific to a sphere, so if you want to work with other geometries a different approach will be needed.