c++ - 柏林噪声和高度图/位图

标签 c++ c bitmap terrain perlin-noise

我们使用 Perlin 噪声函数生成高度图(可以将其视为灰度位图图像)。

是否有任何技术可以朝另一个方向发展?我有位图,我想确定生成它的柏林噪声函数及其参数(振幅、倍频程、频率等)。

我假设对于复杂的图像,几个 perlin 函数是必要的 - 要么将结果叠加在一起,要么逐 block 使用。

最佳答案

您可以使用二维离散傅里叶变换 (FFT) 获取二维函数(位图)的频域信息。有几个数学库实现了它。另一方面,结果不会完全符合您的要求,因为柏林噪声是从随机噪声函数编译而来的,但傅立叶变换会将您的 map 分解为多个具有不同幅度和频率的正弦曲线。显式 perlin 噪声分解会有多个解,因为您可以从不同的随机噪声函数得到相同的复合噪声函数。

关于c++ - 柏林噪声和高度图/位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19232677/

相关文章:

python - 如何将 float 的 2D std vector 写入 HDF5 文件,然后在 python 中读取它

c++ - c++中获取路由表的可移植方式

android - 使用编译的 lua 脚本的 Cocos2d-x 在 Android 上不起作用

CS 50- Pset 1 马里奥程序

android - 无法让 Android 文档中的相机代码正常工作

c++ - 我的代码如何在编译时做一件事,而在运行时做另一件事?

c - 数组变得比声明的大

c - 如何以可维护和可读的方式在 ARM 程序集中重用 C 结构?

java - 由于位图和空指针,应用程序在图像上传时崩溃

java - Android/Java - 在位图底部绘制文本