- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
给定最大迭代次数 = 1000 给我一些关于如何着色(红色、绿色、蓝色)的想法。我现在能想到的只有蹩脚的 2 种颜色渐变:(
真的有可能想出像这样美丽的东西吗?
最佳答案
该死的,他们不会让我一个新手发布图片,但要查看我的着色效果,请尝试此链接
click to see my mandelbrot, when there right click to view larger sizes
我的技术是将颜色立方体的所有可用颜色用于 Fractal Extreme 的 228 个调色板索引。使用电子表格 (OpenOffice),我对 24 位值进行了线性采样。我从每个 RGB 分量(即最高位)中切出 1 位以形成 3 位 RGB 值。使用 vlookup 将 8 种 3 位颜色转换为白色、洋红色、红色、黄色、黑色、蓝色、青色和绿色等序列。然后我复制并粘贴为值,这样我就可以按第 7 位对最高位序列进行排序......
想知道详情吗?
合成 24 位 RGB 值很简单。
A 列的数字从 0 到 227,=ROW()-2
这在 B 列 =ROUND(A2*16777215/227) 中转换为 24 位。
C列转换为十六进制 =DEC2HEX(B2;6)
D列提取红色分量并转换为十进制 =HEX2DEC(LEFT(C2;2))
类似于列 E 绿色 =HEX2DEC(MID(C2;3;2)) 和 F 蓝色 =HEX2DEC(RIGHT(C2;2))
G 切片最高位并转换为 3 位 RGB =BIN2DEC(LEFT(DEC2BIN($D2;8);1)&LEFT(DEC2BIN($E2;8);1)&LEFT(DEC2BIN($F2;8);1) )
H 第 7 位切片
=BIN2DEC(MID(DEC2BIN($D2;8);2;1)&MID(DEC2BIN($E2;8);2;1)&MID(DEC2BIN($F2;8);2;1))
I 第 6 位切片
=BIN2DEC(MID(DEC2BIN($D2;8);3;1)&MID(DEC2BIN($E2;8);3;1)&MID(DEC2BIN($F2;8);3;1))
依此类推,直到最低位列 N =BIN2DEC(RIGHT(DEC2BIN($D2;8);1)&RIGHT(DEC2BIN($E2;8);1)&RIGHT(DEC2BIN($F2;8);1))
现在要将这个 3 位 RGB 转换为颜色序列,我在电子表格中有另一个名为“3 位排序”的选项卡。在 H 列中,公式为 =VLOOKUP(G2;'3bitsort'.$B$62:$C$69;2;0)。
行 b62 到 b69 的值为 0, 1, 3, 2, 7, 5, 4, 6
行 c62 到 c69 的值为 0、1、2、3、4、5、6、7
因此,该公式将 3 位 RGB 值转换为黑色、蓝色、青色、绿色、白色、品红色、红色和黄色序列中的位置。
我对列 P 到 V 中的第 7 到第 1 位执行类似操作。
现在复制和粘贴作为值对这些排序的颜色进行排序是可以的,但在颜色之间往往会有明显的截断。一个简单的 H by I by J 排序...将导致顶部位绿色第 7 位黄色与顶部位白色第 7 位黑色相邻。如果最高位绿色第 7 位白色紧挨着最高位白色第 7 位绿色排列,则会实现更平滑的过渡。所以我做了第二级翻译。这需要根据较高位的颜色转换为不同的序列。
对于每种颜色,在“3bit sort”中的列中,我根据下一个较高位的颜色创建额外的转换序列。
Colum W =VLOOKUP(H2;OFFSET('3bit sort'.$E$62;0;3*O2;8;2);2;0)
偏移量位于之前使用的 b62:c59 中序列的右侧,指向我设置所需序列的位置。
O2 是最高位的转换颜色,对于绿色,即 3,因此 b62:b69 右侧的 9 列是 n62:n69 列,其中包含序列 3、1、2、6、4、0、5、7
o62:o69 包含翻译后的序列 0、1、2、3、4、5、6、7。
因此,如果第 7 位为白色,则最白的绿色排在最后。
对于 q62:q69 包含 2, 1, 3, 7, 0, 6, 4, 5 所以最绿的白色可以排在最白的绿色旁边。
复制和粘贴为值,然后按 8 位转换排序,然后按第 8 位表示的第 7 位表和第 7 位表示的第 6 位表进行排序,因此提供了一个很好的平滑过渡。
但我并不止步于此。
当颜色分布在多次迭代中时,Fractal Extreme 可以插入颜色。上图的最小迭代次数为 12939,最大迭代次数为 27609,因此 228 索引调色板表中的每种颜色都经过数十次迭代。 Fractal Extreme 还具有一个特性,其中每个奇数颜色索引都可以来自第二个调色板表。这会产生条纹效果。我将条纹调色板偏移了 16 个位置,这使得插值在颜色之间存在一些差异。
这就是遗留数据库黑客如何为 mandelbrot 着色,他使用电子表格。
关于colors - 对于所有有创造力的人来说 : coloring mandelbrot set. .. 需要想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5693514/
我现在在 Mandelbrot 集的 DirectX 11 版本上工作了几天。到目前为止,我所做的是创建一个带有纹理的四边形。我可以使用 Pixel Shader 为点着色,但由于某种原因,Pixel
我在 Javascript 上编写了一个程序,用于创建 mandelbrot 分形,并将其绘制在 html Canvas 中。我的渲染方法是每行迭代,从 0 到 500 像素,然后简单地执行一个循环,
我的类(class)布置了一项作业,要求我编写一个程序来绘制曼德尔布洛特图形。 我们必须基本上让程序绘制结果的位图。 问题是,我的 CalcMBF 函数只输出 2 作为 Mandelbrot 数。 我
我认为问题在于我如何将笛卡尔坐标转换为复数,但我现在知道如何操作了。你能解释一下我应该如何转换吗?这是我尝试过的: double c_Im = (y + (maxIm - minIm)) / heig
我是 C++ 编程的新手,为了改进,我正在尝试制作一个 mandelbrot set consol 应用程序。我已经让它几乎完美地工作:图像生成,我可以放大/缩小,并且非常容易地四处移动。不过,我遇到
我想使用 Java 生成 Mandelbrot 集的 PNG 照片,输出应该可以在 Google 图片搜索中轻松找到。 该集合定义为以下序列: z_n+1 = z_n^2 + c 其中 c 和 z 是
我用 Java 编写了一个 Mandelbrot 集分形,并包含了在一定程度上平移和放大分形的功能。唯一的问题是,当我平移图像并尝试放大时,它看起来好像试图放大中心并平移一点。平移和缩放并不是真正的平
我用 python 编写了 Mandelbrot 集,但它看起来很奇怪,所以我搜索了平滑的颜色。我已经使用对数和线性插值编写了一个平滑的着色函数,但无论我尝试什么,我都无法得到我想要的: self.p
我编写了一个简单的片段着色器来渲染 mandelbrot 集。我正在使用 c 语言和使用 glsl 的 opengl 执行此操作。 #version 330 core in vec2 fCoord;
我正在尝试制作一个程序,通过制作一个 .PPM 文件来生成标准 Mandelbrot 集的图像。该程序没有生成有效的 PPM 文件,我不知道为什么。 这是我的代码: #include #includ
我知道已经回答了很多关于此的问题。然而,我的略有不同。每当我们实现我所理解的平滑着色算法时。 mu = 1 + n + math.log2(math.log2(z)) / math.log2(2)
mandelbrot 集包含 mandelbrot 迭代有界的点,迭代点永远不会“逃逸”。 让我们将边界定义为点,其中迭代点在 N 次迭代后逃逸(逃逸我的意思是与原点的距离变得大于 2)。 是否可以保
我一直在做 Mandelbrot 集并尝试缩放,但缩放模式变得非常麻烦。当我缩放时,它会完美缩放,但图像尺寸会缩小到原始尺寸的一半。下次我再次缩放时,图片尺寸会增加并尝试跳过查看窗口。代码在 c++/
我目前正在编写一个程序来生成非常巨大的(65536x65536 像素及以上)Mandelbrot 图像,并且我想设计一个光谱和着色方案来使它们公平。 wikipedia featured mandel
谁能解释一下扰动是如何描述的in this paper加速渲染 Mandelbrot 集? 我知道如何使用对每个像素执行多次迭代的传统方法来渲染 Mandelbrot 集,但我不太明白那篇论文中描述的
这是我尝试使用 Pygame 模块在 Python 3.5 中编写 Mandelbrot 集。 import math, pygame pygame.init() def mapMandelbrot(
我正在使用 C 编写以下代码。到目前为止,它一直在工作,并且已缩放到正确的级别等,但是我正在努力让颜色按我想要的方式工作。理想情况下,无论颜色如何,我都希望得到这样的结果: 但是我的程序如下所示,目前
我可以生成从 minReal 到 maxReal 以及从 minImaginary 到 maxImaginary 的 Mandelbrot 集的 400x400 图像。所以, makeMandel(m
我正在编写绘制 Mandelbrot 集版本的代码。当它运行时,它接受两个输入 a 和 b,并将其转换为一个复数(例如 complex(a,b))。然后它绘制一个 Mandelbrot 集,其中 z
尝试使用与我在使用 TBB(线程构建块)运行时使用的代码相同的代码(有点)。 我对 OpenCL 没有太多经验,但我认为大部分主要代码是正确的。我相信错误在 .cl文件,它在那里进行数学运算。 这是我
我是一名优秀的程序员,十分优秀!