Я пытаюсь создать список из ста тысяч случайных точек в трехмерном пространстве внутри трехмерной границы, при этом ни одна из точек не занимает одинаковую позицию. Я буквально пытаюсь создать неповторяющийся генератор Vector3. Есть ли какой-нибудь эффективный способ сделать это? Кроме того, это нормально, если эти точки не распределены равномерно, на самом деле предпочтительно, если они будут кем-то сгруппированы здесь, при условии, что они не занимают одну и ту же позицию.
Чтобы уточнить, я не пытаюсь генерировать 300 000 уникальных очков. Но вместо 100000 3d очков. Таким образом, допустимы векторные значения (0, 0, 0) и (0, 0, 1). Но (4, 4, 4) и (4, 4, 4) недопустимы.
public class Vector3
{
public float x;
public float y;
public float z;
Vector3(float x, float y, float z)
{
this.x = x;
this.y = y;
this.z = z;
}
public static ArrayList<Vector3> generateVector3s()
{
ArrayList<Vector3> tempVector3List = new ArrayList<>();
for (int i = 0; i < 100000; i++)
{
tempVector3List.add(new Vector3(RANDOMVALUE, RANDOMVALUE, RANDOMVALUE));
}
return tempVector3List ;
}
}