- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
许多 Perlin Noise 教程和实现( here 、 here 、 here 等)使用函数来生成如下伪随机值:
function Noise(integer x, integer y)
n = x + y * 57
n = (n<<13) ^ n;
return ( 1.0 - ( (n * (n * n * 15731 + 789221) + 1376312589) & 7fffffff) / 1073741824.0);
end function
这个函数给出了奇怪的输出:http://jsfiddle.net/byoybjkw/
函数不起作用,因为它经常返回恒定(非伪随机)值。
最佳答案
首先,请务必注意,您看到的不是柏林噪声。您正在查看 Hugo Elias 对值(value)噪声的解释,该链接可能造成了该问题 90% 以上的困惑。值噪声肯定可以产生一些类似的效果,但速度要慢得多(特别是如果您使用三次插值器,这正是您想要的大多数效果)。此外,您正在查看的函数只是随机基数,而不是实际的插值噪声函数。
其次,说实话,我会跳过 Perlin Noise,而看一下名为 OpenSimplex Noise 的东西。 Perlin Noise 是一种较旧的算法,通过沿基轴和 45 度对 Angular 线排列其所有特征,往往会表现出明显的网格伪影。 OpenSimplex 噪声基本上可用于与 Perlin 噪声相同的所有用途:噪声采用输入点(2D、3D 或 4D)并返回 -1 到 1 之间的值,并且输出值随输入坐标平滑变化变化。
OpenSimplex Noise 实际上是我自己开发的一种算法,作为游戏开发项目的一部分,作为用于 3D+ 实现的受专利保护的 Simplex Noise 算法的替代方案。
“官方”存储库:https://gist.github.com/KdotJPG/b1270127455a94ac5d19 (Java)
别人的Javascript移植:https://gist.github.com/KdotJPG/b1270127455a94ac5d19 (注意:到目前为止只有 2D 实现,但您可能不需要更多)
3D Perlin 与 3D OpenSimplex,在 2D 切片中: (左边是原始噪声(x,y,0),下一个是负数/正数的黑白,下一个是接近零的黑色,下一个是噪声(x,y,0.5))
2D OpenSimplex: (为了进行比较,请注意,2D Perlin 噪声在 z=0 时看起来与 3D 几乎相同)
关于javascript - 流行的 Perlin Noise 伪随机函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26445577/
我想知道是否有一个“标准”类(JDK、Guava、Apache *)可以帮助延迟初始化/计算模式? 我正在考虑这样的事情(现在让我们忽略同步): abstract class Lazy { T i
我要创建一个从 html 到某种格式的转换器。我正在考虑使用中间格式 XML(XSL-FO)。 我的问题:如果没有那么多应用程序渲染它,为什么 FO 格式很受欢迎? 最佳答案 我很清楚 CSS 和 X
我发现了 IDEF就在昨天,我立即想知道为什么它不比 UML 更流行。从documents来看,IDEF 至少与 UML 一样适用于软件建模,但与 UML 相比,它已经成熟和稳定了大约 30 年。 这
首先,对于版主来说,如果这不是发布此内容的正确位置,请不要生气:)。 我想知道是否有类似 TodoMVC 的东西适用于 Django、Rails、Symfony 等流行的 Web 框架。 如果没有这样
在我的应用程序中,我有一个 UIScrollView,其中包含 N 个可以向左或向右滑动的 ViewController 在每个 Controller 中,我希望能够推送新的 viewControll
我是一名优秀的程序员,十分优秀!