于紅志
(大連大學(xué)信息工程學(xué)院,大連 116622)
迭代函數(shù)系統(tǒng)圖像的繪制研究
于紅志
(大連大學(xué)信息工程學(xué)院,大連116622)
迭代函數(shù)系統(tǒng)是繪制分形圖的最基本的方法之一,運(yùn)用隨機(jī)迭代算法實(shí)現(xiàn)IFS分形樹的繪制。并運(yùn)用Visual Basic的自定義坐標(biāo)系統(tǒng),對(duì)IFS分形樹圖像的成像進(jìn)行了設(shè)計(jì)研究,實(shí)現(xiàn)IFS分形樹圖像按設(shè)計(jì)的大小、方位輸出圖像。
迭代函數(shù)系統(tǒng);IFS分形樹;自定義坐標(biāo)
迭代函數(shù)系統(tǒng)(IterationFunctionSysterm,簡(jiǎn)稱IFS),是分形幾何學(xué)的重要分支,也是繪制分形圖最基本的方法之一。IFS在對(duì)自然景物的計(jì)算機(jī)模擬生成中具有明顯的優(yōu)勢(shì),運(yùn)用分形迭代函數(shù)系統(tǒng)既可以模擬已有的物種也可以創(chuàng)造新的任意物種形態(tài)。借助計(jì)算機(jī)只需調(diào)整相關(guān)算法中的系數(shù)及參數(shù)就可以模擬生成各種不同的生物形態(tài)。而正是由于IFS可以用少量的數(shù)據(jù)描述比較復(fù)雜的圖像,因而也具有很強(qiáng)的圖形數(shù)據(jù)壓縮能力。下面僅就IFS圖像生成以及生成圖像的設(shè)計(jì)進(jìn)行探討與研究。
1.1IFS繪圖算法
運(yùn)用迭代函數(shù)系統(tǒng)生成植物的算法思想是,要確定一組迭代規(guī)則,它們是由一組仿射變換(如R1,R2,R3等)構(gòu)成的,每一次迭代使用哪個(gè)仿射變換是不確定的,要有使用概率(pi)來控制。設(shè)最終要生成的圖形(植物形態(tài)圖)為M,它要滿足下述集合方程:
(1)式的含義是,隨機(jī)的從Ri(i=1,…,N)中挑選一個(gè)迭代規(guī)則迭代一次,然后再隨機(jī)的在Ri(i=1,…,N)中選一個(gè)規(guī)則迭代一次,不斷重復(fù)這個(gè)過程,最后生成的收斂點(diǎn)集M就是所要獲取的植物圖像,每個(gè)迭代規(guī)則Ri都是一個(gè)壓縮的仿射變換。在此必須選用壓縮的仿射變換,因?yàn)橹挥忻總€(gè)仿射變換都具有收縮性,才能使迭代收斂到M內(nèi),M應(yīng)當(dāng)是所有迭代Ri的吸引子。于是,由概率控制的IFS迭代算法如下:
設(shè)帶有概率的IFS由壓縮仿射變換集R={Ri:Ri1,Ri2,…,RiN,i=1,2,…,M}與概率集P={pi1,pi2,…,piN,i= 1,2,…,M}構(gòu)成。其中:
對(duì)于任意i,Rij中的max(j)可以小于N,即把j為max(j)+1至N的所有參數(shù)視為0。
選取任一點(diǎn)xi0∈R(i=1,2,…,M)為初始點(diǎn),然后遞歸地隨機(jī)選取下述集合中的一個(gè)點(diǎn)作為xin,n=1,2,…,于是有:
最后得到的序列{xin}?Ri,收斂到IFS的吸引集中。
上述隨機(jī)迭代算法中的概率集P,通常是被賦予一個(gè)很小的正數(shù)。另外還要確定仿射變換的個(gè)數(shù)及最大的迭代次數(shù)。
1.2繪制IFS分形樹
根據(jù)表1給出的仿射變換參數(shù)及概率集,用Visual Basic編碼生成了IFS分形樹圖像(其仿射迭代次數(shù)是10000次),如圖1所示。
表1 IFS分形樹仿射變換系數(shù)與參數(shù)
圖1 IFS 分形樹
圖2 IFS分形樹之大中小
2.1VB的自定義坐標(biāo)系統(tǒng)
繪制IFS圖像時(shí),首先要在繪圖窗口建立自定義坐標(biāo)系。VB的坐標(biāo)系統(tǒng)由Scale的4個(gè)屬性來確定,它們分別是:ScaleLeft、ScaleTop、ScaleWidth和Scale Height。其中ScaleLeft的取值確定繪圖窗口左邊的水平坐標(biāo),ScaleTop的取值確定繪圖窗口頂端的垂直坐標(biāo);ScaleWidth的取值確定繪圖窗口內(nèi)部的水平寬度,ScaleHeight的取值確定繪圖窗口內(nèi)部的垂直高度。因此,ScaleLeft、ScaleTop的取值改變將重新定義坐標(biāo)原點(diǎn),也就是將改變圖像的輸出位置。ScaleWidth的取值決定水平方向成像的大??;ScaleHeight的取值決定垂直方向成像的大小。這就意味著上述4個(gè)屬性中任意一個(gè)屬性值的改變都將使最終圖像的成像發(fā)生改變。
2.2設(shè)計(jì)繪制圖像的大小和方位
(1)設(shè)計(jì)將IFS分形樹進(jìn)行縮小處理
根據(jù)以上的分析現(xiàn)將圖1的IFS分形樹進(jìn)行縮小的設(shè)計(jì)輸出:改變其中的ScaleWidth和ScaleHeight的取值。由于水平方向坐標(biāo)軸和垂直方向坐標(biāo)軸的單位值分別是ScaleWidth和ScaleHeight的倒數(shù),故將圖1的ScaleWidth和ScaleHeight取值的絕對(duì)值在原基礎(chǔ)上分別擴(kuò)大1.5倍和2倍,即繪制了圖2所示兩個(gè)的縮小的IFS分形樹。反之,若要設(shè)計(jì)放大圖像,則應(yīng)將ScaleWidth和ScaleHeight取值的絕對(duì)值縮小相應(yīng)的倍數(shù)。
(2)設(shè)計(jì)繪制成行和成列的IFS分形樹
根據(jù)1.1中的分析,設(shè)使用Scale方法建立第一棵分形樹的自定義坐標(biāo)系為:
若設(shè)計(jì)沿水平方向繪制下一棵樹時(shí),在接下來的自定義坐標(biāo)系中只需將x1和x2分別增加一個(gè)平移量X,即令x1=x1+X,x2=x2+X,沿著x軸的正向繪制時(shí),X取負(fù)值;反之,X取正值。設(shè)計(jì)編程時(shí),將IFS分形樹的繪制過程定義為一個(gè)Sub子過程,在主調(diào)過程中按上述方法建立動(dòng)態(tài)的自定義坐標(biāo)系調(diào)用Sub子過程即可繪制如圖3所示的分形樹成行的圖像。同理,在公式(1)的自定義坐標(biāo)系中,將y1和y2分別增加一個(gè)平移量Y,即令y1=y1+Y,y2=y2+Y,沿y軸的正向繪制時(shí),Y取負(fù)值;反之,Y取正值,如此建立動(dòng)態(tài)的自定義坐標(biāo)系繪制出圖4所示的分形樹排成列的圖像。
圖3 IFS分形樹行
圖4 IFS分形樹列
(3)設(shè)計(jì)沿斜上對(duì)角線和斜下對(duì)角線輸出IFS分形樹圖像
這時(shí)需要在主調(diào)過程中建立的動(dòng)態(tài)的自定義坐標(biāo)系,即公式(1)中的x1、x2、y1、y2同時(shí)用x1=x1+X,x2=x2+X,y1=y1+Y,y2=y2+Y進(jìn)行替換更新,其它處理同上。圖5和圖6即為沿斜上對(duì)角線和斜下對(duì)角線輸出的IFS分形樹圖像。
(4)設(shè)計(jì)繪制樹成林的IFS圖像
圖5 IFS分形樹行
圖6 IFS分形樹列
圖7 IFS分形樹林
圖8 IFS分形樹林(彩色)
在主調(diào)過程中建立(3)中的動(dòng)態(tài)自定義坐標(biāo)系,結(jié)合一個(gè)雙重循環(huán)語句,調(diào)用繪制IFS分形樹的Sub子過程,即可繪制IFS分形樹成林的圖像,見圖7和圖8(圖8在用Pset方法畫點(diǎn)的同時(shí)賦予了不同的顏色)。
運(yùn)用VB的坐標(biāo)系統(tǒng),建立了動(dòng)態(tài)的自定義坐標(biāo)系,對(duì)IFS分形樹的圖像進(jìn)行了設(shè)計(jì)輸出,實(shí)現(xiàn)了IFS分形樹的縮小繪制、成行繪制、成列繪制、成對(duì)角線繪制以及成面繪制。這種處理方法的研究和運(yùn)用豐富了IFS圖像的表現(xiàn)形式,也為其他類圖形圖像的處理提供了方法借鑒。
[1]齊東旭.分形及其計(jì)算機(jī)生成,科學(xué)出版社,1994,11.
[2]潘金貴.分形藝術(shù)程序設(shè)計(jì),南京大學(xué)出版社,1998,3.
[3]羅朝盛.Visual Basic 6.0程序設(shè)計(jì)教程,人民郵電出版社,2013,2.
Research on Drawing Images of Iteration Function System
YU Hong-zhi
College Information Engineering,Dalian University,Dalian 116622)
IFS is one of the ways to draw fractal images,draws IFS fractal trees by stochastic iterative algorithm.According to the design and uses custom coordinate system by Visual Basic to achieve the IFS fractal trees image size,and controls the orientation of the output.
Iteration Function System;IFS Fractal Tree;Custom Coordinate
1007-1423(2016)26-0074-03DOI:10.3969/j.issn.1007-1423.2016.26.018
于紅志,女,大連市人,教師,碩士,研究方向?yàn)檐浖_發(fā)與應(yīng)用、分形繪圖
2016-07-05
2016-08-20