问题标签 [perlin-noise]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2386 浏览

c# - 软件 Perlin 噪声实现

我已经根据来自这里这里这里这里的信息编写了一个 2D Perlin 噪声实现。但是,输出看起来像这样

感谢您对错误的任何输入。

编辑:我找到了解决此问题的方法:我使用加载时生成的双精度数组来解决此问题。不过,任何实现良好随机数生成器的方法都值得赞赏。

0 投票
1 回答
149 浏览

java - 噪音()没有给我广泛的价值

我试图在今天的处理中使用噪声生成一个伪随机角度,但它没有像我希望的那样工作。

这是我的代码的重要部分。我认为会发生的是 vx 将是 -1 和 1 之间的随机浮点数,但它几乎总是负数。问题似乎是噪声(xoff)输出的值范围有限。仅在 0.3 和 0.7 之间。要使 vx 为正,它需要低于 0.3 并高于 0.7,但这几乎不会发生。

这里出了什么问题?

0 投票
1 回答
21925 浏览

c++ - 将种子添加到 Perlin 噪声的最佳方法?

我正在尝试在 C++ 中实现 2D Perlin 噪声生成,而我发现一些实现根本不使用种子(hereherehere)。其他实现采用种子值来根据噪声值获得不同的噪声。

但是,我找到了示例代码,其中将种子值添加到计算每个八度音阶的噪声值的函数参数中(请参阅链接代码中的 PerlinNoise::Total() )。另一个使用3D种子函数,将固定的种子值作为z值(刚才找不到例子)。其他文章建议使用其他噪声函数。

所以我的问题是,为 Perlin 噪声生成添加种子值的最佳方法是什么。给定相同的种子值,应该生成相同的噪声值。如果解决方案是使用自定义噪声函数,我会感兴趣是否可以使用 Boost.Random(或 C++11 的标准 C++ 库类)来实现它。

编辑:用“最佳”方式回答我的意思:什么是给我 Perlin 噪音的最佳方式,就像它应该工作一样,例如梯度噪音函数。

0 投票
1 回答
652 浏览

objective-c - 柏林噪音:我有源代码,现在呢?

我一直在互联网上寻找如何准确使用 Perlin 噪声(C 版本),但我似乎找不到任何东西。

这就是我正在做的事情:

我使用随机参数设置了一个等于noise1 的双精度值。NSLog然后我使用(objective-c)将高度输出到控制台。现在奇怪的是控制台输出控制台输出在此处输入图像描述


我错过了什么吗?

0 投票
2 回答
2349 浏览

c++ - 使用 Perlin 噪声来制造闪电?

实际上,我有几个与主题标题中给出的主题相关的问题。

我已经在我的应用程序中使用 Perlin 函数来创建闪电,但我对我的实现并不完全满意。

以下问题基于初始和改进的 Perlin 噪声实现。

为了简化问题,假设我正在创建一个简单的 2D 闪电,方法是使用 1D Perlin 函数在这些节点处调制由 N 个节点组成的水平线的高度。

  1. 据我所知,传递给 Perlin 函数的两个后续值必须至少相差一个,否则生成的两个值将相同。这是因为对于简单的 Perlin 实现,Random 函数使用 int 参数,在改进的实现中,值被映射到 [0..255],然后用作包含值 [0..255] 的数组的索引] 随机分布。那正确吗?

  2. 如何实现 Perlin 函数返回的第一个和最后一个偏移值(即节点 0 和 N-1)始终为 0(零)?现在我正在用我的 Perlin 函数调制一个正弦函数(0 .. Pi)来实现这一点,但这并不是我真正想要的。只是将它们设置为零不是我想要的,因为我想要一条没有锯齿的漂亮闪电路径。

  3. 如何改变 Perlin 函数(以便获得两条不同的路径,可用作闪电的动画开始帧和结束帧)?我当然可以将每个路径计算的固定随机偏移量添加到每个节点值,或者使用不同的设置排列表来改善 Perlin 噪声,但是有更好的选择吗?

0 投票
3 回答
7335 浏览

matlab - 在 matlab 中生成程序\柏林噪声

我正在寻找一种简单的方法来生成类似于 matlab 中的程序\柏林噪声的东西。

它只需要具有一般的 perlin 噪声特征,而不是完全复制 ken perlin 的方法。

0 投票
3 回答
1559 浏览

tiles - 用于在 javascript 或 HTML5 中平铺的 perlin simplex worley 噪声库?

我很好奇是否已经开发了用于在 javascript 中创建这些噪音的库?

我在网上搜索了大约两个小时,寻找 javascripts 中的库。我已经看到了单工噪声的这种实现:

https://gist.github.com/304522

但我还没有看到任何专门为 javascript 编写的库。

如果没有人知道任何库,那么链接有关如何开发这些功能的建议也会很棒。我目前正在谷歌搜索我在这里询问的所有内容,我只是想更好地让多个网络爬虫同时帮助我:) 此外,如果堆栈溢出的人已经找到了一个高质量的网站,那就更好了。

多谢你们!

0 投票
0 回答
260 浏览

perlin-noise - 纹理中的 Tilable 3d 噪点?

我一直在寻找答案,但我还没有找到任何东西。这是我的问题:

您能否将预先计算的噪声打包到 2d 纹理中,以便能够计算合理的 3d 噪声传真,而无需使用完整的 3d 噪声算法进行计算。

我最初的想法是通过 Y 噪声获取 X 的 Z 切片并将它们并排打包,然后为每个像素计算“低”和“高”噪声像素,并在两个 Z 样本之间进行加权插值。不用说,这不是很好。

我知道各种会产生噪音的着色器,但总的来说,由于硬件规格低以及 mfrs 实施的各种优化,它们在移动平台上存在问题,因此动态计算是不可行的。

0 投票
2 回答
2017 浏览

xna - 运动的柏林噪音?

我成功地使用 Perlin 噪声来生成地形、云和其他一些漂亮的东西。但是,我现在正在尝试为一群飞虫(特别是萤火虫)制作动画,并且建议我也为此使用 Perlin 噪声。但是,我不确定该怎么做。

我首先想到的是,给定这样的噪声图:

  1. 为每只萤火虫分配一个随机的初始位置、速度和角加速度。
  2. 在帧上,按照其方向向量推进苍蝇的位置。
  3. 读取新位置的噪声图,并使用它来调整角加速度,使苍蝇“转向”向较亮的像素。
  4. 通过其他苍蝇的接近度再次调整角加速度,以避免它们聚集在局部最大值附近。

但是,这不包括苍蝇到达地图边缘的情况,或者它们可能最终只绕一个点运行的情况。第二种情况可能没什么大不了的,但我不确定让它们转向以避免与地图边缘碰撞的可靠方法。

建议?教程或论文(请用英文)?

0 投票
3 回答
24492 浏览

javascript - JavaScript 单纯形 / perlin 噪声

我正在尝试在 JavaScript 中创建一个 perlin / simplex / value 噪声函数,该函数将给出类似于以下结果:

在此处输入图像描述 (注意:此图像已经应用了阈值。我想要没有阈值。)

我已经在互联网上搜索了 2 天了。有很多链接解释噪音和大量代码,但在 JavaScript 中没有,每当我尝试转换它时,我都会得到奇怪的结果。以下是我的一些尝试:

我认为部分问题可能源于 JavaScript 中位运算符的使用,在这种情况下很难强制执行数字的类型。

我正在寻找的是一个工作的例子,JavaScript 噪音(无论类型)。

我也愿意为与可能导致类似于我发布的图像(阈值之前)的模式或任何优化提示的参数有关的任何信息提供赏金,因为我需要它尽可能快地运行(在 JavaScript 中)。