Im пытается сделать звезды на небе, но распределение звезд не равно.Как рандомизировать точки на поверхности сферы равномерно?
Это то, что я пробовал:
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
И:
Что приводит к:
img2 http://img710.imageshack.us/img710/5152/squarerandom.jpg
(не делает шар, но opengl не скажет разницы, хотя).
Как вы можете видеть, всегда есть «угол», где в среднем больше очков. Как я могу создавать случайные точки в сфере, где точки будут распределяться равномерно?
http://stackoverflow.com/questions/1841014/uniform-random-monte-carlo-distribution-on-unit-sphere – AakashM
http://stackoverflow.com/questions/5531827/random-point -on-a-given-sphere – AakashM
http://stackoverflow.com/questions/7280184/fast-un iformly-distribution-random-points-on-the-the-the-a-unit-hemisphere – AakashM