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

gam*_*bie 5 java random android opengl-es

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

这是我的代码

 points.addParticles(new GeoPoint(-random.nextFloat(),random.nextFloat(),random.nextFloat()),180);
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

我只是想随机定位在屏幕内生成随机点.

Jon*_*eet 24

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

float value = random.nextFloat() * 2 - 1;
Run Code Online (Sandbox Code Playgroud)

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

random.nextFloat() * (x - y) + x
Run Code Online (Sandbox Code Playgroud)