我正在学习。我想知道如何在-1到1之间生成。那是因为opengl标准化的设备坐标仅在-1和1之间。有人提到随机浮点数仅在0.0到0.9999999之间。

这是我的代码

 points.addParticles(new GeoPoint(-random.nextFloat(),random.nextFloat(),random.nextFloat()),180);

多数民众赞成在x,y,z和随机颜色。

我只想在屏幕内部生成具有随机位置的随机点。

最佳答案

Random.nextFloat 的值大于或等于0,小于1-即[0,1)的范围。因此,要将其映射到[-1, 1)范围,您只需要乘以2并减去1。

float value = random.nextFloat() * 2 - 1;

通常,要获得[x, y)范围内的值,可以使用
random.nextFloat() * (x - y) + x

08-18 19:05