相关疑难解决方法(0)

理解"随机性"

我无法理解这一点,这更随机?

rand()
Run Code Online (Sandbox Code Playgroud)

要么

rand() * rand()
Run Code Online (Sandbox Code Playgroud)

我发现它是一个真正的脑筋急转弯,你能帮助我吗?

编辑:

直观地,我知道数学答案将是它们同样随机,但我不禁想到,如果你将两者相乘的话"运行随机数算法"两次,你会创造一些比随机更随机的东西它一次.

language-agnostic random math

829
推荐指数
18
解决办法
10万
查看次数

GLSL的随机/噪声功能

由于GPU驱动程序供应商通常不愿意noiseX在GLSL中实现,我正在寻找"图形随机化瑞士军刀"效用函数集,最好在GPU着色器中进行优化.我更喜欢GLSL,但任何语言代码都可以为我做,我可以将它自己翻译成GLSL.

具体来说,我希望:

a)伪随机函数 - 在[-1,1]或[0,1]上的N维,均匀分布,从M维种子计算出来(理想情况下是任何值,但我可以将种子限制在内比方说,0..1表示统一的结果分配).就像是:

float random  (T seed);
vec2  random2 (T seed);
vec3  random3 (T seed);
vec4  random4 (T seed);
// T being either float, vec2, vec3, vec4 - ideally.
Run Code Online (Sandbox Code Playgroud)

b)像Perlin Noise这样的连续噪声 - 再次,N维,+ - 均匀分布,具有约束的值集合,并且看起来很好(配置外观像Perlin级别的一些选项也可能是有用的).我希望签名如下:

float noise  (T coord, TT seed);
vec2  noise2 (T coord, TT seed);
// ...
Run Code Online (Sandbox Code Playgroud)

我不太关注随机数生成理论,所以我最急切地想要一个预先制定的解决方案,但我也很感激"这是一个非常好,高效的1D兰特()这些答案,让我解释一下你如何在它上面制作一个好的N维兰特()...".

random shader glsl noise perlin-noise

167
推荐指数
8
解决办法
15万
查看次数

标签 统计

random ×2

glsl ×1

language-agnostic ×1

math ×1

noise ×1

perlin-noise ×1

shader ×1