【发布时间】:2012-02-08 23:29:06
【问题描述】:
我想在天上做星星,但是星星分布不均匀。
这是我尝试过的:
rx = rand(0.0f, PI*2.0f);
ry = rand(0.0f, PI);
x = sin(ry)*sin(rx)*range;
y = sin(ry)*cos(rx)*range;
z = cos(ry)*range;
哪些结果:
img http://img716.imageshack.us/img716/3320/sphererandom.jpg
还有:
rx = rand(-1.0f, 1.0f);
ry = rand(-1.0f, 1.0f);
rz = rand(-1.0f, 1.0f);
x = rx*range;
y = ry*range;
z = rz*range;
哪些结果:
img2 http://img710.imageshack.us/img710/5152/squarerandom.jpg
(不制作球体,但 opengl 不会有区别)。
如您所见,总有一些“角落”平均得分更多。如何在点将均匀分布的球体上创建随机点?
【问题讨论】:
-
其中一个肯定是重复的......