问题标签 [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.
matlab - 使用 matlab / octave 制作灰色音频噪声
通过选择要在下面使用的不同invfnorm变量,我可以使用以下代码段创建粉色、棕色、蓝色音频噪声,但是如何创建灰色噪声?
在链接https://en.wikipedia.org/wiki/Colors_of_noise
中,他们给出了粉色、棕色、蓝色音频噪声的公式,但对于灰色噪声,他们只是说它是“倒置的 A 加权曲线”,没有显示公式,我只需要公式。见下面的光谱。
我获得这些信息的网站位于此处灰色噪音
Ps:我使用的是类似于matlab的Octave 4.2.2
python - 我想将噪声应用于由 3D numpy 数组描绘的体积
我有一个包含感兴趣对象的灰度卷。我可以将它作为一个浮点数在 -1 和 1 之间的三维 numpy 数组导入到 python 中。
我的问题是双重的:
负浮点数不应该真的存在,但是我不确定如何用随机正浮点数替换每个负浮点数。我过去用于数组替换的方法将相同的规则应用于所有低于 0 的数字。对此的任何帮助将不胜感激。我尝试了以下行,但显然它以一个随机数替换它们结束:
/li>我希望在整个图像上应用噪声。我希望以这样一种方式做到这一点,我可以根据需要多次应用噪音,而且每次都是随机的。我还希望保持对象,即对象外部的东西应该变得比对象本身更嘈杂,但两者都应该变得比原始体积更嘈杂。该对象往往具有最高的正浮点数,但这并不是说噪声中偶尔出现的体素不能在同一范围内具有值,但这没关系。
我有一个函数可以生成正确大小(100x100x100)的随机噪声数组:
然后我可以将我的体积乘以这个数组,但是它在维护感兴趣的对象方面做得不好。
我想知道我是否可以计算出一条曲线,并且取决于强度在曲线上的位置将定义如何实现噪声,但我很难想象这将如何工作。任何帮助将不胜感激。
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 函数来获取地形点的当前生物群落(按照本指南,但我不完全了解该怎么做,因为我不了解这种方法,也看不到任何相关代码到本文)。
但我不知道从哪里开始,也不知道如何用优化算法解决问题。另外,我不知道该研究什么。所以我有一个问题,因此,欢迎任何帮助。
processing - 处理噪声实现具有严格的正范围
在此页面以及 p5.js 的文档中,Perlin 噪声被描述为具有 [0,1] 的输出范围,但我发现的所有其他实现都有一个关于 0 对称的小范围,而且似乎这也是理论上应该成立的。Processing 对 Perlin 噪声的实现是怎么回事?他们在做什么不同?我如何在 python 中复制它?
python - 向图像添加像素级独立噪声
我的问题很简单:我有一张图像,我想在图像中添加像素独立的噪声。噪声可以来自任何分布,例如高斯分布。numpy/scikit-learn 中有哪些可用模块可以做同样的事情?
我没有任何代码,但我正在学习 numpy.random.normal 等模块,我需要更多说明。没有一个模块明确表示如果我多次从分布中抽取样本,则抽取将是独立的。
谢谢你的建议。
python - 如何随机化“噪声”库的种子
我想用 Perlin Noise 创建一个 2D 浮点列表。我希望每次运行程序时生成的值都不同。但是,我不确定如何为我在 GitHub 上找到的噪声库提供随机种子。
如何让程序每次运行时生成不同的值?
我的代码:
python - 使用 Perlin 噪声程序生成具有明显更高海拔的区域
我正在尝试了解 Perlin Noise 和程序生成。我正在阅读有关生成具有噪音的景观的在线教程,但我不理解作者关于制作高海拔区域的部分解释。
在“岛屿”部分下的此网页上,有文字
设计一个与您想要的岛屿形状相匹配的形状。使用下部形状将地图向上推,使用上部形状将地图向下推。这些形状是从距离 d 到海拔 0-1 的函数。设置 e = 下 (d) + e * (上 (d) - 下 (d))。
我想这样做,但我不确定作者在谈论上下形状时的意思。
作者所说的“使用下部形状将地图向上推,上部形状将地图向下推”是什么意思?
代码示例:
noise - 如何使用噪声生成多个 3D 坐标
我目前正在尝试使用虚幻引擎蓝图中的单纯形噪声插件生成 3D 行星地图,就像《无人深空》所做的那样。如何为各个行星生成坐标?
我已经尝试创建 3 个 for 循环并获取特定坐标上的噪声值。当噪声值超过阈值时,就会生成一个行星。这很好用,但是资源非常密集,并且会将它们分组为非随机模式。有没有更好的方法来使用噪声获得一个/多个坐标?就像输入阈值并输出坐标的反向噪声函数一样?或者也许是不同的方式?
非常感谢