添加聚合作为颜色所需的迭代次数。在HSV中定义颜色,并使迭代次数映射到HSV的值S.这将为您提供一个漂亮而有意义的颜色渐变而不会真正改变颜色。
伪代码是:
为此,生成3种颜色 mycolors 像你一样做。将其颜色空间更改为 mycolorshsv=rgb2hsv(mycolors);
mycolors
mycolorshsv=rgb2hsv(mycolors);
你现在想要的是为每种颜色生成一堆(你选择的)颜色。
mycolorshsv=repelem(mycolorshsv,N,1);
现在让我们生成 N 每种颜色的渐变。
N
mycolorshsv( 1: N,2)=linspace(0,1,N); mycolorshsv( N+1:2*N,2)=linspace(0,1,N); mycolorshsv(2*N+1:3*N,2)=linspace(0,1,N);
你想要,例如你获得的最长迭代 maxiter 成为最聪明的人。我们需要改变你的 col 来自的矩阵 [1,2,3] 现在我们目前的范围。为此,只是
maxiter
col
[1,2,3]
col=(col-1)*N+1; % make 1=>1, 2=>N, 3=>2*N; col=col+iteration_matrix; %max(iteration_matrix) must be maxiter. You may want to normalize so min(iteration_matrix) is 0
现在只需设置 colormap(mycolors); ,我会用 imagesc 代替 pcolor ,但它不那么重要。
colormap(mycolors);
imagesc
pcolor
使用范围和更好的地图的colro值限制。通常还使用非线性映射,其中包含函数 f 应用于迭代值,例如sigmoid。
f
这是您可以在维基百科中找到的牛顿分形的技术,例如: