在负面和正面opengl java之间生成随机浮点数

时间:2013-12-03 07:19:05

标签: java android random opengl-es

我正在研究opengles。我想知道如何在-1到1之间生成,那是因为opengl规范化设备坐标只在-1和1之间。有人提到随机浮点数仅在0.0和0.9999999之间。

这是我的代码

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

这是x,y,z和随机颜色。

enter image description here

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

2 个答案:

答案 0 :(得分:24)

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

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

通常,要获得[x, y)范围内的值,您需要使用

random.nextFloat() * (x - y) + x

答案 1 :(得分:2)

那么你可以使用一个随机的,这将决定你乘以1还是(-1)? 如果随机> 0.5(first_random * 1)else(first_random *( - 1))