返回列表 回复 发帖
001.jpg
002.jpg
002.jpg
003.jpg
000.jpg
001.jpg
未标题-1.jpg
003.jpg
004.jpg
005.jpg
006.jpg
007.jpg
008.jpg
229# xuefeiyang
1,2,3:幅角加距离估计。这是地址:
http://images.math.cnrs.fr/La-me ... actal-en-3D?lang=fr
作者用的是根着色加距离估计,并且是真3D。我是学不会了。
4,5: 是一种类似球陷阱的叫什么“ smooth_1D”的算法,效果不是很好,也不常用。
6,7: 前面讨论的 DLD 算法。
8,9: 是最简单的指数累加平滑算法。sum[ exp(-abs(z))]
原来绞尽脑汁去弄什么3D效果,其实算法不在“3D”哪里,像这种伪3D,各种着色算法里面的“算法特征值” 直接的就可以映射到(x,y,z)中的 z 轴。
我的脚本里面的迭代算法和着色算法是完全分离的,着色算法并不针对特定的迭代模型,唯一的参考数据就是复平面每一点迭代完后的迭代轨迹,实际操作中就是对于每一个模型用各种着色算法去试,看看不同的效果。
00.jpg
01.jpg
02.jpg
03.jpg
000.jpg
001.jpg
003.jpg
001.jpg
002.jpg
003.jpg
004.jpg
005.jpg
006.jpg
001.jpg
002.jpg
003.jpg
004.jpg
005.jpg
006.jpg
这种做法不多见,两个临界点同时迭代:
001.jpg
002.jpg
003.jpg
004.jpg
005.jpg
http://www.math.uwaterloo.ca/~wg ... ndel/RatMandel.html
001.jpg
002.jpg
003.jpg
004.jpg
005.jpg
006.jpg
007.jpg
008.jpg
009.jpg
010.jpg
t = -1, dr = 1, n = 4, s = 1.25,
da = 2 * PI / n, z = 0;

while ( ++ t < et && Z.norm( z ) < em ) {
    if( Z.norm( z ) > dr ) {
        let a = Z.arg( z ) / ( PI + PI ),
            b = da * round( n * a );
        if( !b ) b = sign( a ) * da;
        z = Z.sub( 1 + s, Z.mult( s, Z.rot( z, -b ) ) );
    }
    z = Z.add( Z.sqr( z ), c );
}
001.jpg
002.jpg
t = -1, dr = 1, n = 4, s = 1.25,
da = 2 * PI / n, z = 0;

while ( ++ t < et && Z.norm( z ) < em ) {
    if( Z.norm( z ) > dr ) {
        let a = Z.arg( z ) / ( PI + PI ),
            b = da * round( n * a );
        z = Z.sub( 1 + s, Z.mult( s, Z.rot( z, -b ) ) );
    }
    z = Z.add( Z.sqr( z ), c );
}
003.jpg
004.jpg
返回列表