我遇到了这个PDF 文件,我想编写自己的分形火焰生成器。我试图理解对数密度显示、着色和伽马因子的部分试图说什么。截至目前,我认为它说使用此算法来确定不透明图像的每个颜色通道的 [0-255] 值:
var log_log = log(pixel_counter)/log(max_counter),
alpha_gamma_factor = color_channel*log_log^(1/gamma),
color_gamma_factor = log_log*color_channel^(1/gamma),
vibrant_color = vibrancy*alpha_gamma_factor+(1-vibrancy)*color_gamma_factor,
corrected_color_channel = floor(256*vibrant_color);
其中vibrancy
和color_channel
是 [0, 1),计数器是整数,并且gamma
是介于sqrt(5)
和sqrt(16)
(或 ~2.2 和 4)之间的值。
请让我知道这是否正确,如果不正确,我应该如何更改算法。我还想对支持半透明的算法进行变体,因为输出将是 PNG 文件。在这种情况下,对于 [0, 255](分别为透明到不透明)的 alpha 通道,最高质量的算法是什么?