- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我目前正在编写一个程序来生成非常巨大的(65536x65536 像素及以上)Mandelbrot 图像,并且我想设计一个光谱和着色方案来使它们公平。 wikipedia featured mandelbrot image似乎是一个很好的例子,尤其是调色板如何在序列的所有缩放级别保持变化。不过,我不确定它是在旋转调色板还是在做其他一些技巧来实现这一点。
我熟悉 smooth coloring algorithm对于 mandelbrot 集,所以我可以避免 strip 化,但我仍然需要一种方法来为该算法的输出值分配颜色。
我生成的图像是金字塔形的(例如,一系列图像,每个图像的尺寸都是前一个图像的一半),所以我可以使用某种旋转调色板,只要改变后续缩放级别之间的调色板不太明显。
最佳答案
这是平滑颜色算法:
假设您从复数 z0
开始并迭代 n
次直到它逃逸。令终点为 zn
。
一个平滑的值是
nsmooth := n + 1 - Math.log(Math.log(zn.abs()))/Math.log(2)
这只适用于 mandelbrot,如果你想计算 julia 集的平滑函数,那么使用
Complex z = new Complex(x,y);
double smoothcolor = Math.exp(-z.abs());
for(i=0;i<max_iter && z.abs() < 30;i++) {
z = f(z);
smoothcolor += Math.exp(-z.abs());
}
则smoothcolor
在区间(0,max_iter)
。
将 smoothcolor
除以 max_iter
得到 0 到 1 之间的值。
从值中获得平滑的颜色:
这可以调用,例如(在 Java 中):
Color.HSBtoRGB(0.95f + 10 * smoothcolor ,0.6f,1.0f);
因为 HSB 颜色参数中的第一个值用于定义色环中的颜色。
关于algorithm - Mandelbrot 集渲染的平滑频谱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/369438/
我对复值频谱执行 iFFT 并通过让第一个样本归零来更改相应的时域信号。最后,我通过 FFT 将其转换回频域。 我想知道这里使用两侧(对称)频谱或仅使用一侧频谱(仅正频率)之间的(物理)差异在哪里,因
我正在尝试提高使用 cython 计算 Jonswap 频谱的性能。但它似乎比原始代码慢得多。我该如何改进? 赛通代码: from libc.math cimport exp from libc.st
我目前可以使用 JavaScript Web Audio API 播放音轨。在播放此轨道时,我可以提取 FFT 频谱数据、峰值、RMS 值等。 但是,出于我的应用程序的目的,我需要能够在开始播放轨道之
我正在尝试将频谱保存在我的 FMOD_DSP_PARAMETER_FFT 中,但我只收到充满零的频谱,如果你能看到我的错误我会同意,我认为我没有很好地将 DSP 连接到 channel 或类似的东西,
我有一个复杂的信号,我想对其进行 FFT。使用 Mathematica 我得到以下结果: (* Some acquisition params *) fS = 100. 10^6; time = 10
我是一名优秀的程序员,十分优秀!