返回列表 回复 发帖

现代艺术!
julia集 好像是f(z) = Sqr[Sinh(z2)]+c


刚才看到网友发的位置,location:
  center=-0.1609247348178284806975/1.036538681806853190217
  magn=2.3603883E12
}
于是试了试. 刚开始发现全是黑的.我怀疑double精度不够.后来发现是迭代次数的问题. 把迭代次数从1024改成1024*32, 就出图了.
但是我的颜色设置不太好. 略遗憾.



如果m集某个位置的图非常复杂, 那么那个点对应的julia集也会很复杂!
上面两个图就就是上层楼的m集位置对应的julia集的放大局部. 1024*32次迭代, 颜色设置还是不够美

1920*1080 可以拿来做桌面了

1024*8次迭代. 刚画的. 比以前的1024次迭代多出一些细节.
我用C++写的. 用了CUDA + OpenCV
为此专门先学了一点opencv. 写了代码后运行, 800*800的图, 1024次迭代, m集大概花2秒左右.
然后我做了个窗口, 左边出M集,右边出J集, 鼠标点击m集的任意位置, 程序就会以该位置为c, 做出对应的J集.我的J集的图都是这么做出来的.

后来觉得每次出图花2秒还是挺长, 于是专门又学了CUDA...折腾了快一个星期.
现在用CUDA跑程序, 速度提高了10倍+. 一个图100ms左右就画出来了.
但是对于复杂的迭代函数, 比如f(z)= exp(z^3)+c之类的,甚至更复杂的, 要花2-10秒.
像12楼和13楼的图, 因为用了3万次迭代,  所以要花3秒才能出图.


使用调色板技术拟3D做的第一个图. 10种颜色. 500次迭代. 很鲜艳!



还是用m集做的j集



调整了一下颜色函数. color index = 迭代数/颜色总数. 50-500次迭代的情况下还好, 若是几千次迭代, 这种情况下因为只有10个颜色, 导致大部分地方的颜色非常混乱.
所以我修正了一下, 当最大迭代数增加时, color index的变化慢一些. 就做出了这些漂亮的图.

发个壁纸级的. 1920*10280



第一个图是m集的最大圆和次大圆相切的地方, 明显的颜色梯度变化.
第2个图是局部放大图.可以看到微观结构.
第3个图是再次放大.
这里附近随便点一个位置,对应的j集都美丽的可以做壁纸.
返回列表