How to get a series of random points in a specific range of distances from a reference point and generate xyz coordinates
Generically you can  populate your points in two ways:
1) use random to create the coordinates for your points within the outer bounds of the solution. If a given random point falls outside the max or inside the inner limit.
2) You can do it using polar coordinates: generate a random distance between the inner and outer bound and a yaw rotation. In 3d, you'd have to use two rotations,  one for yaw and another for pitch. This avoids the need for rejecting points.
You can simplify the code for both by generating all the points in a circle (or sphere) around origin (0,0,0) instead of in place.  Them move the whole set of points to the correct blue circle location by adding it's position to the position of each point.
I have to generate a various points and its xyz coordinates and then calculate the distance.
     Lets say I want create random point coordinates from point a away from 2.5 cm in all directions. so that i can calculate the mutual distance and angles form a to all generated point (red)
I want to remove the redundant point and all those points which do not satisfy my criteria and also have same position.
![enter image description here][1]
for example, I know the coordinates for the two points a (-10, 12, 2) and b (-9, 11, 5).      The distance between a and b is 5 cm.
The question is: How can I generate the red points' coordinates.     I knew how to calculate the distance and angle.    So far, I have tried the following calculation:
I am not able to define the points randomly.
I found a few solutions that don't work.
Any help would be appreciated.