上一篇 : [url=http://kidneyball.iteye.com/blog/1332865]分形绘图简介(三) 界面操作[/url]
终于开始画第一幅画了。这是根据网上的一个[url=http://browse.deviantart.com/?qh=§ion=&global=1&q=Apophysis+2.04Beta+Julian+Tutorial#/dlox0o]教程[/url]翻译过来的。主要是感受一下创作一幅分形图的步骤。
先看最终效果
[img]http://dl.iteye.com/upload/attachment/615359/dd2af2d1-9227-3add-ae94-5e44768b0ae0.jpg[/img]
嗯,令我想起了当年一个电视游戏《魂斗罗》的风格,也有点异形的风格。
如果你比较懒的话,直接把下面代码复制到Apophysis 7X中就能得到同样效果(复制代码后直接在Apophysis 7X中按Ctrl+V)。
525104524C06523417521D29521E2952202A52302F524135
525E3F52614052644152573C524A3852363152232B52202A
521D29521D29521B28521A28521A27521A27521A27521A28
521A28521D2952202B523D3D525A4F52574652553D52292D
521D29521426520D2452072252061F52051D52041F520421
520A23520B23520C23520E1E52111A521219521419521819
52270F525204525204525204524A0752420A52311A52202A
521D29521B28521A28521827521727521727521727521727
521727521526521626521727521727521727521426521426
521426521225521025520E24520D24520D24520D24520A23
520A23520E1A521517521D1552320E524708525104525403
525503525503525503525503525503525503525005494C2C
52232B52202A521D29521A28521A28521A28521D2952202A
52553C525E3F526842526943526B44526440525039754533
52232B521727521526521426521025520B22520B1B520E1A
52081C52091F520A23520B23520D24520D24520D24520D24
520D24520D24520E25520F26521025521426521828521D29
524E0552490752440952321952202A521D29521A28521727
521426520D24520B23520A2352072252042152012052001F
52001F52001F52001F52001F52001F52012052012052051D
52081C52141948180C3F1D00524807525104525403525503
525204524B0652440852191952111A520B1B52051D52051D
52051D52051D520520520A2352102552172752202A524737
527747527A47527D4852935052A35352AD5852B45E52AD59
52A556529250526D4452613C52463752202A521D29521D29
52202A523A34525D3E527C48528D4F529D4E52814A526D44
5E5715525304525503525503525503525403525104524209
52202A521D29521A28521727521426521025520A23520421
52031E52031E52031D52051D52081C52081C52081C520B1B
520E1A520E1A520B1B52081C52081C520A23520D24521025
521426521727521A28521B27522914524708524E05524E05
52420A52232A52232B52533B526D44528D4FAF9A6BAF774F
Ok,现在来一步步看这幅画是怎么画出来的。
首先,打开Apophysis 7X后,按Ctrl+N新建一个Blank Flame。
按F5打开Adjustment面板,在Gradient标签页选择“144_Apophysis-040426-147KaosRing”调色板(正常作画的话,可以在画完后再选调色板,或者在绘画过程中任意步骤中选。在这里先选是希望保证实际效果能与本文的截图一致)。关闭Adjustment面板。
[img]http://dl.iteye.com/upload/attachment/615365/6981a488-0716-3879-81be-6fd478b6a9a7.jpg[/img]
现在用F4打开Editor面板(当前变换三角为1号),打开Variations标签页(有的版本会看到linear3D或linear默认为1)。先按“Clear”按钮清空。
[img]http://dl.iteye.com/upload/attachment/615367/f1a34d83-fba6-35d9-a613-754a49072bea.jpg[/img]
把[color=blue][b]blur的系数设为0.5,swirl设为0.168,polar设为0.122[/b][/color]。(下面为了截图方便,勾选了Hide unused variations选项,实际操作不用这样做。不过实际工作中可以经常用这个选项来检查其他系数是否清零)
[img]http://dl.iteye.com/upload/attachment/615369/b3b708a8-0ee2-3327-b708-9c49315b0ff0.jpg[/img]
这时主窗口显示如下图像
[img]http://dl.iteye.com/upload/attachment/615371/fdbdc51a-1778-3cb3-bf2f-0e64050f27ae.jpg[/img]
现在按Editor面板工具栏上的New Transform快捷键([img]http://dl.iteye.com/upload/attachment/615373/e38f7a40-a9bc-3c7f-8601-671785aec96a.jpg[/img]),新建一个2号变换。
同样,进入Variations标签页,先按Clear清空,然后把[b][color=darkblue]julian的系数设为0.775[/color][/b]。然后进入Variables标签页,[b][color=darkblue]把julian_power设为20,julian_dist设为1.5[/color][/b]。
[img]http://dl.iteye.com/upload/attachment/615375/aef719cb-ec30-3638-bf6a-d1c37c3a3c6a.jpg[/img]
这时主窗口上得到了如下图像:
[img]http://dl.iteye.com/upload/attachment/615377/597091e7-1928-3139-80fa-77122332c8de.jpg[/img]
现在,进入Transform标签页,把X,Y,O三个顶点分别设为:
X:1, 0
[color=darkblue][b]Y:0.7, 0.2[/b][/color]
O:0, 0
并且设置2号Transform的[color=darkblue][b]权重(weight)为1[/b][/color]
[img]http://dl.iteye.com/upload/attachment/615379/3128d498-ddc3-33ef-a5c1-f50a9ef78964.jpg[/img]
现在主窗口上的图像是:
[img]http://dl.iteye.com/upload/attachment/615381/8326a5df-c166-3e2c-a017-eb9b4abfdd3a.jpg[/img]
如果你耐着性子看到这里,估计已经频临崩溃的边缘了:哇,搞了半天才出来中间那个小圆圈。还要放进去多少个变换才能把外围那么复杂的图案画好啊?答案是:1个。是的,您没有看错,只差一个,真的只差一个了!
再按New Transform按钮加入一个新变换(3号),同样去Variations标签页,先用Clear按钮清空。现在[b][color=darkblue]把julian的系数设为-2.33(负2.33)[/color][/b]。注意,[color=red]负号必须用大键盘的减号键来输入[/color](小键盘的减号是用来切换当前变换三角的快捷键)。
然后进入Variables标签页,[color=darkblue][b]把julian_power设为2,julian_dist设为-0.9(负0.9)[/b][/color]。
嗯,性急的你已经发现了主窗口的图案没有任何变化(其实认真看的话是有一点点不同的,在上一步做出来的牙齿前端又长出来一点点)。
[img]http://dl.iteye.com/upload/attachment/615383/9fdcb49a-b41c-3254-bcab-65873ccd86b1.jpg[/img]
不是说只差一个了吗?别急,3号变换还没设置完呢,只算完成了半步。
现在进入Triangle标签页,[b][color=darkblue]把平移的步长设为0.65,然后按右箭头图标[/color][/b],向右平移一步。
平移后的顶点坐标应该是:
X: 1.65,0
Y: 0.65,1
O: 0.65,0
最后,[b][color=darkblue]把权重(weight)设为3[/color][/b]
[img]http://dl.iteye.com/upload/attachment/615391/8fa20a63-4590-352d-a60e-65a7ed693d1d.jpg[/img]
好,到此为止,所有变换就都设置好了。你会说:啥?我在主窗口只看到了这样的东西呀!
[img]http://dl.iteye.com/upload/attachment/615393/ac1b379d-80cc-3243-9fbf-44df8f7a208d.jpg[/img]
哦,忘了说,分形图是画好了,但要成为好看的最终作品,还要调节镜头参数,亮度和颜色。按F5键打开Adjustment面板:
[b]先把Scale设为11
进入Camera标签页中,把Rotation设为270
进入Rendering标签页中,把Gamma设为1.33, Brightness设为10.58,Vibrancy设为0。[/b]
哇,这下看清楚了,原来刚才黑乎乎的背景里隐藏了这么多的细节:
[img]http://dl.iteye.com/upload/attachment/615395/c4d156b2-e1b4-37d9-859b-0831e746b26c.jpg[/img]
现在剩下最后一步了,为每个变换指定颜色,让图像的色彩丰富起来。
再按F4打开Editor面板,用Transform下拉框选择[b]1号变换[/b],进入Colors标签页,[b][color=darkblue]把颜色索引值设为0.542[/color][/b]
[img]http://dl.iteye.com/upload/attachment/615397/65a9d571-d48f-3bb7-855f-9dbbe7a311c4.jpg[/img]
再选择[b]2号变换[/b],[color=darkblue][b]把颜色索引设为0.179[/b][/color]。[b][color=darkblue]3号变换的颜色索引设为0.420[/color][/b]
大功告成。
[img]http://dl.iteye.com/upload/attachment/615401/d57f5c98-5f79-349f-8171-f8790f53fc1e.jpg[/img]
[b]函数式绘图[/b]
好了,现在我们来做个实验。用F5打开Editor面板,选择1号变换,按快捷栏上的Remove transform按钮把它删掉。你会看到主窗口的图像变成了
[img]http://dl.iteye.com/upload/attachment/615403/ebabbbea-e3f7-3933-853d-162449784a44.jpg[/img]
当初做变换1的时候,它的图像只是屏幕中央的一个圆。但现在如果删掉变换1,除了中间的圆没了之外,周边的细节也发生变化。这是因为在整个图像中,变换1的图像被其他变换函数迭代映射到了图像的其他局部图形中。
并且,你会发现删除原来的1号变换后,原来的2号变换就变成了1号,原来的3号变成了2号。现在,我们加入一个新的变换,重新按照原来变换1的参数进行设置。这时虽然原来的1号变换成了现在的3号变换,但是最终图像与原来是一模一样的!
我觉得这是分形绘图的一个非常奇妙的地方,因为图像是用函数映射出来的,就像在函数式编程里一样,函数除了输入和输出外,没有副作用。这使得函数在任意时机求值,结果都是一样的。这与普通的photoshop绘画不一样,不用必须按照1步1步来,在第10步的时候如果发现第1步搞错了,结果整副画都要重新画一遍(除非你分出来很多layer)。绘制分形图是,如果发现哪个变换参数设错了,直接去改就行了。先设哪个后设哪个,其实关系不大。
[b][size=medium]无限细节[/size][/b]
分形图的另一个特点是它的细节是可以无限扩大的(理论上)。例如我们在主窗口的工具栏中选择Zoom in按钮,放大以下局部
[img]http://dl.iteye.com/upload/attachment/615434/3e68c550-fe6f-3643-afa0-cba9e3e8c9d0.jpg[/img]
你会得到这样的图像
[img]http://dl.iteye.com/upload/attachment/615436/c1a5b5e5-7d12-365c-ba33-c3ff55ed5d53.jpg[/img]
可以看出,分形图的局部被放大后,与普通的点阵图和矢量图都有所不同。点阵图的局部被过量放大自然会形成有锯齿的色块,而矢量图的局部被过量放大后虽然线条不会出现锯齿,但由于图像本身没有局部的细节信息,也只会形成色块。而分形图则是出现稀疏的噪点,其实图形的细节都还在,只不过由于运算效率的考虑,软件没有使用足够多的点去生成图形而已。如果我们把主窗口工具栏的“Editor”按钮左边的下拉框的数字设为1000。(这个数字是在主窗口生成图形时所用的Density参数),就可以得到以下图形
[img]http://dl.iteye.com/upload/attachment/615438/79a73bc0-1602-352f-8e5c-2a7fb3c8340a.jpg[/img]
可以看到,在这一局部里,还是存在无限精细的细节。只不过在我的机器上,为了生成这种精细度的图形,每次刷新都要用两分多钟。当然,平时我们不需要把主窗口的预览图形的精度设得这么高,而是在渲染输出时才把精度提高。
这是另一个局部(下面那排尖刺中其中一个尖刺)的细节:
[img]http://dl.iteye.com/upload/attachment/615447/f47152d8-ccc8-36b3-a503-56cf0e3640ee.jpg[/img]
用简单的三个变换函数就能生成具有无限精度的图形,难怪分形图被称为“最接近自然的图形”。
看来,画一幅分形图是非常简单的。如果“简单”是指“步骤相对少”的话,是的。问题是,上面设的那些参数究竟有什么意义,变换三角的实质又是什么东西呢?不了解这些,是无法做到随心所欲地创作的。
那么下面,我们开始看看这个神奇的“分形火焰算法”究竟是什么一回事。