I am searching for a solution for generating a set of uniform points on a given sub-region of hypersphere surface by a given number.
There are several conditions to describe the set of generated uniform points.
- each point in the point set $PS=\{P_1, P_2, ..., P_N\}$ must satisfy the equtation $x_1^2+x_2^2+...+x_D^2=1$, where $N$ and $D$ represent the size of set and the dimension, respectively. It is noted that all the data ($x_1,...,x_D$) are no less than $0$.
- Given a reference point $R=(r_1, r_2, ..., r_N)$, if $R$ is inside the hypersphere, it is required that all the data of these points should be no less than of $R$. Otherwise, if $R$ is outside the hypersphere, all the data of these points should be no greater than of $R$. It is unnecessary to consider that the reference point $R$ is on the surface of hypersphere. That is to say, the generated point $P=(p_{1}, p_{2}, ..., p_{D})$ satisfies the following conditions:
- $p_{1} \geq r_1, p_{2} \geq r_2, ..., p_{D} \geq r_N$, if $r_1^2+r_2^2+...+r_D^2<1$
- $p_{1} \leq r_1, p_{2} \leq r_2, ..., p_{D} \leq r_N$, if $r_1^2+r_2^2+...+r_D^2>1$
- The size of points is a specific number given by $N$. The requirement is that the size of points must be no greater than $N$, but it should be as close as possible to $N$.
- The points should be uniformly distributed. I think that uniformity is that the distances between the point and its nearest neighbor are the same. I don't know whether it is accurate, but I think the solution based on random distribution may not be suitable for me, such as solution.
Recently, I found a solution when the reference point $R$ is set to origin. The solution mainly ahieve the goal by two steps. First, the method generate uniform points on the hyperplane $x_1+x_2+...+x_N=1$ by combination. The generated points satisfy the Conditions 3 and 4. I have not study the details. If necessary, I can look for how to generate. Second, the vector is used to generate the points on the hypersphere surface: $$\frac{(p_1, p_2,...,p_D)}{\sqrt{p_1^2+p_2^2+...+p_D^2}}$$
Because scaling the points on the hyperplane does not destroy the uniformity, I think scaling the points on the hyperplane to a spefic region may be a fesible solution. If these points are scaled to a suitable region so that when execution the second step, the points can satisfy all the above conditions. However, I don't know to what extent the points should be scaled.
Any advices will be appriciated.