问题标签 [noise-generator]

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 投票
1 回答
292 浏览

matlab - 使用 matlab / octave 制作灰色音频噪声

通过选择要在下面使用的不同invfnorm变量,我可以使用以下代码段创建粉色、棕色、蓝色音频噪声,但是如何创建灰色噪声?

在链接https://en.wikipedia.org/wiki/Colors_of_noise中,他们给出了粉色、棕色、蓝色音频噪声的公式,但对于灰色噪声,他们只是说它是“倒置的 A 加权曲线”,没有显示公式,我只需要公式。见下面的光谱。

灰噪声 我获得这些信息的网站位于此处灰色噪音

Ps:我使用的是类似于matlab的Octave 4.2.2

0 投票
0 回答
48 浏览

matlab - 绘制 PLC 背景噪声

我是信号处理的新手。我一直试图在 simulink 上绘制与实际研究相匹配的 PLC(电力线通信)调制解调器中的时/频域噪声,但是,我未能绘制出这种噪声。如果有人知道如何绘制:

  • 频域:测量频率范围内背景噪声高达55dB,包含功率高达4MHz
  • 在时域中:在大部分 AC 周期持续时间中,将背景噪声本底提高 45dB

就文章显示而言,它应该是这样的。 在此处输入图像描述

我需要绘制一个巨大的数据集,所以如果有人可以帮助我了解如何绘制这种噪声,我将能够绘制其余的。

0 投票
1 回答
728 浏览

javascript - 我的柏林噪声函数有什么问题?

所以我目前正在研究一个柏林噪声发生器,由于某种原因我得到了不正确的输出:

在此处输入图像描述

perlin 噪声位于“网格”中,与传统的 perlin 噪声不同。这是我的代码:

}

函数 initCanvas、ValueToPixel 和 UpdateCanvas 可以工作,并且已经在其他用例中进行了测试。我真的很感激我做错了什么。

编辑:根据要求,我添加了 ValueToPixel 和 UpdateCanvas 函数。

0 投票
1 回答
227 浏览

python - 我想将噪声应用于由 3D numpy 数组描绘的体积

我有一个包含感兴趣对象的灰度卷。我可以将它作为一个浮点数在 -1 和 1 之间的三维 numpy 数组导入到 python 中。

我的问题是双重的:

  1. 负浮点数不应该真的存在,但是我不确定如何用随机正浮点数替换每个负浮点数。我过去用于数组替换的方法将相同的规则应用于所有低于 0 的数字。对此的任何帮助将不胜感激。我尝试了以下行,但显然它以一个随机数替换它们结束:

    /li>
  2. 我希望在整个图像上应用噪声。我希望以这样一种方式做到这一点,我可以根据需要多次应用噪音,而且每次都是随机的。我还希望保持对象,即对象外部的东西应该变得比对象本身更嘈杂,但两者都应该变得比原始体积更嘈杂。该对象往往具有最高的正浮点数,但这并不是说噪声中偶尔出现的体素不能在同一范围内具有值,但这没关系。

我有一个函数可以生成正确大小(100x100x100)的随机噪声数组:

然后我可以将我的体积乘以这个数组,但是它在维护感兴趣的对象方面做得不好。

我想知道我是否可以计算出一条曲线,并且取决于强度在曲线上的位置将定义如何实现噪声,但我很难想象这将如何工作。任何帮助将不胜感激。

0 投票
1 回答
91 浏览

c# - 平滑不同幅度的随机噪声

我有一个返回有界噪声的函数。例如,假设输入范围为 [-1, 1]。使用我的方法,我可以返回有界/范围内的噪声(取决于我们当前所在的生物群系)。

检查此以了解什么是平均高度和幅度:https ://i.gyazo.com/9dc9cbe949f82d7342d7778e904563de.mp4

注意:噪声值由 FastNoise 库给出。(你可以在Github上看到它)

问题是每个区域边界上的高度不匹配:

正常区域:

...

噪声区域:

...

黑色像素等于 y=0,白色像素等于 y=1。(可以忽略黄色像素)

但正如您所见,不同的生物群落具有不同的幅度和平均高度(水、草、草、干草、沥青)。

我尝试过高斯卷积,但有一个问题:CPU 迭代次数过多(最好在 GPU 中执行)。

为什么?好吧,我对每个区域边界像素应用高斯卷积(我有一个优化的方法来得到它)。想象一下,我们得到 810k 点。并为每个像素应用一个卷积,有 81 次迭代(以获得该部分的高度平均值)。但这仅适用于一个像素,现在我们必须为另外 81 个像素 (9x9) 或 25 个像素 (5x5) 或其他任何东西取平均值。

(在最好的情况下)有 1,640,250,000 次迭代要做(在每个区域边界周围获得一个非常小的平滑网格)。

您可以查看我的旧代码:

++ 是调试计数器,忽略它们。

点卷积执行以下操作:

如您所见,非常未优化。代码来自:http ://wiki.unity3d.com/index.php/TextureFilter

我无法想象有任何其他方法可以做到这一点。我能想到的最好的方法是画一条垂直线(垂直于当前段(我有一个工具来获取多边形的边缘(段由起点和终点形成,其中段起点 = 当前边缘和段结束 = 前一个边缘)))(线中每个点的平均噪声)。但也有一个问题:

...

具有钝投影的段之间存在间隙(用黄色标记)。以及在具有锐利投影的片段上的重叠噪声梯度。

我意识到的另一种方法是从所有需要它的区域边界获取渐变轮廓。

像这样的东西:

...

我还看到了 Cuberite 的实现(http://cuberite.xoft.cz/docs/Generator.html#heightgen):

但我不明白这部分,如果我能从中提取一些东西:

如果我们取以查询列为中心的 9x9 生物群落区域,为其中的每个生物群落生成高度,将它们相加并除以 81(总和的生物群落数量),我们将有效地得出一个 9 长的运行平均值地形,所有的边界都会突然变得平坦。下图显示了应用平均过程后上一段的情况。

注意:我已经创建了一个扭曲的 voronoi 函数来获取地形点的当前生物群落(按照本指南,但我不完全了解该怎么做,因为我不了解这种方法,也看不到任何相关代码到本文)。

但我不知道从哪里开始,也不知道如何用优化算法解决问题。另外,我不知道该研究什么。所以我有一个问题,因此,欢迎任何帮助。

0 投票
1 回答
158 浏览

processing - 处理噪声实现具有严格的正范围

页面以及 p5.js 的文档中,Perlin 噪声被描述为具有 [0,1] 的输出范围,但我发现的所有其他实现都有一个关于 0 对称的小范围,而且似乎这也是理论上应该成立的。Processing 对 Perlin 噪声的实现是怎么回事?他们在做什么不同?我如何在 python 中复制它?

0 投票
2 回答
513 浏览

python - 向图像添加像素级独立噪声

我的问题很简单:我有一张图像,我想在图像中添加像素独立的噪声。噪声可以来自任何分布,例如高斯分布。numpy/scikit-learn 中有哪些可用模块可以做同样的事情?

我没有任何代码,但我正在学习 numpy.random.normal 等模块,我需要更多说明。没有一个模块明确表示如果我多次从分布中抽取样本,则抽取将是独立的。

谢谢你的建议。

0 投票
2 回答
912 浏览

python - 如何随机化“噪声”库的种子

我想用 Perlin Noise 创建一个 2D 浮点列表。我希望每次运行程序时生成的值都不同。但是,我不确定如何为我在 GitHub 上找到的噪声库提供随机种子

如何让程序每次运行时生成不同的值?

我的代码:

0 投票
1 回答
70 浏览

python - 使用 Perlin 噪声程序生成具有明显更高海拔的区域

我正在尝试了解 Perlin Noise 和程序生成。我正在阅读有关生成具有噪音的景观的在线教程,但我不理解作者关于制作高海拔区域的部分解释。

在“岛屿”部分下的此网页上,有文字

设计一个与您想要的岛屿形状相匹配的形状。使用下部形状将地图向上推,使用上部形状将地图向下推。这些形状是从距离 d 到海拔 0-1 的函数。设置 e = 下 (d) + e * (上 (d) - 下 (d))。

我想这样做,但我不确定作者在谈论上下形状时的意思。

作者所说的“使用下部形状将地图向上推,上部形状将地图向下推”是什么意思?

代码示例:

0 投票
1 回答
212 浏览

noise - 如何使用噪声生成多个 3D 坐标

我目前正在尝试使用虚幻引擎蓝图中的单纯形噪声插件生成 3D 行星地图,就像《无人深空》所做的那样。如何为各个行星生成坐标?

我已经尝试创建 3 个 for 循环并获取特定坐标上的噪声值。当噪声值超过阈值时,就会生成一个行星。这很好用,但是资源非常密集,并且会将它们分组为非随机模式。有没有更好的方法来使用噪声获得一个/多个坐标?就像输入阈值并输出坐标的反向噪声函数一样?或者也许是不同的方式?

非常感谢