问题标签 [simplex-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 投票
8 回答
30862 浏览

image-processing - 单纯形噪声与 Perlin 噪声

我想知道为什么在 Simplex 出现后 Perlin 噪声在今天仍然如此流行。单纯形噪声是由 Ken Perlin 自己制造的,它被假设接管了他的旧算法,该算法在更高维度上速度较慢且质量更好(没有可见的伪影)。

单纯形噪声于 2001 年问世,在这 10 年中,在生成地形高度图、创建程序纹理等方面,我只看到人们谈论 Perlin 噪声。

任何人都可以帮助我,Simplex 噪音有什么缺点吗?我听说 Perlin 噪声在 1D 和 2D 噪声方面更快,但我不知道这是否属实。

谢谢!

0 投票
2 回答
528 浏览

iphone - iOS平台云的光生成算法

我想用动画云填充我的应用程序的背景。我做了一些研究,偶然发现了似乎很合适的 perlin 噪声算法。然而,即使在第一次测试中,生成 512x512 (2D) 云图也非常昂贵。我尝试了单纯形噪声,但没有解决。

根据http://freespace.virgin.net/hugo.elias/models/m_clouds.htm通过添加一些 perlin/simplex 噪声图来生成云。在我的应用程序中的 iPhone 上不可能做到这一点:我需要流畅的图形(我的乐观预期是 A4 上的 60 FPS)。

所以我的问题是:是否有更轻的算法来生成不会使我的帧速率下降太多的动画云?

提前致谢!

保罗

0 投票
3 回答
1559 浏览

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

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

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

https://gist.github.com/304522

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

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

多谢你们!

0 投票
3 回答
24492 浏览

javascript - JavaScript 单纯形 / perlin 噪声

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

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

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

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

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

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

0 投票
2 回答
401 浏览

python - 单纯形噪声似乎只是给出随机结果

我试图让我的单纯形噪声(基本上是复杂度更高的 perlin 噪声)工作并给我一些像这样的好东西:

柏林噪声

然而,我得到的只是看似随机的东西:

蚂蚁大战

我正在使用这里的单纯形代码,并像这样使用它:

相当简单,但似乎我错过了一些东西。不知道是什么

0 投票
0 回答
422 浏览

android - 使用 LOD 在球体上映射纹理的最佳方法

首先,我在 android 上使用 OpenGL ES 2.0。

表面和高度纹理由具有 Simplex 噪声算法的线程 CPU 生成。我画了一个球体,我想根据与观察者的距离(LOD)来映射纹理。我精确地认为贴图生成器渲染 2D 纹理(基于 3D 噪波),并使用所需的球形变形进行精细贴图。

仅映射一个纹理(票价距离)效果很好。现在,我想根据眼睛到球体中心向量映射(并生成)纹理。想象一下球体中间的一个正方形(我的纹理),每当我旋转球体或移动球体时,该正方形必须始终位于观察者面前的中心。只是内容有所改变。

从哪儿开始 ?

我只能让它与偏航旋转一起工作。如果我修改其他人(俯仰,滚动),一切都会被打破。

我正在研究另一种(最好的)方法吗?

我用于纹理映射的实际着色器代码(仅适用于偏航):

谢谢你,对不起我糟糕的英语。

0 投票
0 回答
191 浏览

math - 是否有一种算法方法可以找到给定单纯形噪声维度的比例因子?

这是单纯形噪声算法的 C# 中的一种实现

您会注意到每个噪声函数(2d、3d 和 4d)都会缩放角点贡献以适应 -1 到 1 的范围(这是返回语句中的幻数),这是合理的。据我所知,这些都是通过实验得出的。

问题是我想将其模板化为任意数量的维度,而这个因素似乎是这样做的一个障碍,所以我想找到一种获得该比例因子的算法方法。我对算法不够熟悉,无法了解影响比例的因素,但如果我不得不猜测,我认为顶部的排列表是一个主要的排列表。

有没有人对此有任何想法,也许只是说它不可行?

0 投票
2 回答
5825 浏览

algorithm - 什么是 3D 更快?Perlin 或 Simplex 噪声?

好的,网上有很多 Perlin 和 Simplex 噪声的比较。但是我真的找不到一个可以在三个维度之间进行简单处理时间比较的文件,这是我最感兴趣的。我读过那个流行的 PDF(甚至理解了其中的大部分内容——耶!)但是我无法回答一个简单的问题:假设最佳实现,哪一个对于 3D 来说更快?

这个stackoverflow question answer表明 Simplex 是我的案例的一个非常明显的赢家。当然,还有其他资源声称完全相反。

然而,一般的说法似乎是 Perlin 噪声的复杂度为 O(2^N),而 Simplex 的复杂度为 O(N^2)。对于 3D 来说,Perlin 是 8,Simplex 是 9。但是,在某个网站上,我发现 Simplex 实际上是 O(N) 的声明。那么这里真实情况是什么,这对于 3D 的速度究竟意味着什么?

我在这里不知所措,我真的主要对 3D 应用程序(用于随机地形生成,包括洞穴)的使用感兴趣,我找不到一个很好的答案来回答这个问题,如果我希望它尽可能快,我应该使用哪个可能的。

所以也许有人可以在这里帮助我:)

0 投票
1 回答
1472 浏览

javascript - 我无法在 Javascript 中生成平滑的 Simplex 噪声

我已经尝试了所有方法并阅读了我在互联网上看到的关于 Perlin Noise 或 Simplex Noise 的每一个链接,甚至剖析了一些我认为可以正常工作的 Javascript 示例。

但我仍然得到非常随机的图像......基本上只是电视静态图像。

我的代码如下。我正在使用随机数生成器,以便我可以播种一个值,但我也尝试过 Math.random。

据我所知,在不同倍频程生成的不同图像没有正确插值,或者我从噪声函数转换为 RGB 值的方式是错误的(我试图解决这两个问题。 ..)。

0 投票
3 回答
7306 浏览

directx - 单纯形噪声着色器?

我有几个关于 Simplex Noise 的问题。我正在使用 Simplex Noise 在 directx 中生成地形,但我目前正在使用类等。我可能也会将它用于纹理,那么是否有必要将其更改为着色器实现?如果是这样,这很容易做到吗?

此外,对于纹理,使用 3D 噪声还是 2D 噪声更好?