劉華勇 張大明 李 璐 張春曉
(安徽建筑大學(xué)數(shù)理系,安徽 合肥 230601)
甲骨文,我國(guó)迄今為止發(fā)現(xiàn)的最為古老的成熟的古文字系統(tǒng),主要是指殷商和周時(shí)期的先民刻龜甲或是獸骨上文字,又稱為契文,主要是王室用作記錄占卜和刻辭記事。
從書法的角度來(lái)講,甲骨文已經(jīng)具備了用筆、結(jié)構(gòu)和章法等藝術(shù)要素,所以可以稱為中國(guó)最早的書法藝術(shù)作品。早些書法的模擬用的圖形類課程中樣條曲線,Bezier曲線和NURBS曲線來(lái)模擬這些漢字或書法,從而給書法的計(jì)算機(jī)模擬帶來(lái)了一些好處,對(duì)于漢字和書法的編輯帶了不小的改革,但對(duì)于甲骨文的模擬和實(shí)現(xiàn)帶了一些困難.目前用的比較多的是區(qū)間曲線來(lái)模擬,但由于甲骨文本身具有的特點(diǎn),比如圓滑等,所以這樣的區(qū)間曲線不能夠解決這樣的問(wèn)題,因此急需找到一種方法來(lái)解決存在的問(wèn)題,從而保護(hù)和繼承這項(xiàng)傳統(tǒng)的藝術(shù)。同時(shí)在保護(hù)和發(fā)展的基礎(chǔ)上,同時(shí),模擬的數(shù)字化甲骨文可以解決甲骨文在電腦中的排版問(wèn)題和編譯的作用,增加和利用利用網(wǎng)絡(luò)傳播,來(lái)文化交流這個(gè)特殊的藝術(shù)品。另外,在設(shè)計(jì)和藝術(shù)領(lǐng)域,需要大量不同風(fēng)格的藝術(shù)字形.甲骨文因?yàn)槠洫?dú)特的文化內(nèi)涵而深受歡迎.但是甲骨文字形呆板單一,不能滿足出版廣告等設(shè)計(jì)的需要。因此為了豐富甲骨文的字形,生成不同于原有甲骨文的字形,本文在描繪出輪廓線后,提出一種比圓頭體具有更好模擬性的甲骨文輪廓字形即橢圓域控制點(diǎn)形成的甲骨文輪廓字形。
生成的甲骨文是基于圓域B樣條曲線及B樣條曲線表示的輪廓字形,它是對(duì)圓頭體的一種改進(jìn)。當(dāng)想要書寫的字體線條需要不同粗細(xì)時(shí),可以直接控制控制點(diǎn)圓域的半徑來(lái)達(dá)到目的。生成字體較好,且成本低大大提高了效率。
令R表示全體實(shí)數(shù)集合,R+表示非負(fù)實(shí)數(shù)集合.而為平面上的圓域可被定義為:
其中 P0= (x0,y0)∈R2表示中心,r0∈R+為圓域的半徑。
若令Ni,k(t)為定義在給定的節(jié)點(diǎn)向量上的 k 階 B 樣條基函數(shù)。 令(Pi)r=(xi,yi)r,i=0,1…,n為給定的n+1個(gè)圓域,將這些圓域作為控制頂點(diǎn),所生成的相應(yīng)圓域B樣條曲線可被定義為:
按照此形式,圓域B樣條曲線可以被看成兩部分,即中心線部分和半徑函數(shù)部分。在這種理解下,一條圓域B樣條曲線也可被等價(jià)的表示成
圖1 三次圓域B樣條曲線
本文所謂的骨架線實(shí)際上是由若干B樣條曲線連接而成的字體的輪廓。如下圖3便是圖2的骨架線。
圖2 甲骨文“月”
圖3 輪廓線
字體的一種,主要特點(diǎn)是筆畫粗細(xì)幾乎相同,至少在同一個(gè)筆畫內(nèi)寬度相同。并且在筆畫的懸空端以半圓封口,即為圓頭,而在筆畫轉(zhuǎn)彎處以圓弧過(guò)渡。在圓頭體中,每個(gè)筆畫的輪廓有四個(gè)部分:始端、末端、二根側(cè)邊線。側(cè)邊線與筆畫中心線走向一致。
介紹了圓域B樣條曲線,本節(jié)也要用到圓域B樣條曲線的相關(guān)知識(shí)。要想得到甲骨文字體,首先要知道它的輪廓,然后用B樣條曲線來(lái)模擬它的輪廓。因?yàn)榧坠俏闹械膯喂P畫,線條的粗細(xì)幾乎都是相同的,所以可以直接用半徑相同的圓域B樣條曲線來(lái)繪制。但是在甲骨文中有的線條端點(diǎn)會(huì)略帶有尖點(diǎn),我們可以利用圓域半徑來(lái)調(diào)整。
具體的操作:首先用B樣條曲線把要寫的甲骨文的輪廓線畫出,這主要就是找控制點(diǎn)坐標(biāo)。當(dāng)控制點(diǎn)坐標(biāo)確定以后,曲線也就出來(lái)了。當(dāng)畫出幾條曲線之后,字體的輪廓也就出來(lái)了,但是它太細(xì)了。接下來(lái)便是設(shè)計(jì)線條的粗細(xì)。因?yàn)樽煮w的一筆中的線條比較均勻所以可以用相同半徑的圓域曲線,當(dāng)一個(gè)字體由多筆組成是要適當(dāng)調(diào)整半徑的大小,來(lái)達(dá)到很好的模擬效果。這其實(shí)和圓域曲線是一個(gè)道理,只不過(guò)它用到的是橢圓域。
甲骨文的設(shè)計(jì)主要在于下面的這行代碼(GUI):
function pushbutton2_Callback(hObject,eventdata,handles)
h_axes=findobj(gcf,′type′,′axes′);h_children_axes=allchild(h_axes);delete(h_children_axes);
hold on
but=1;n=0;xx=[];yy=[];
while but==1
[xi,yi,but]=ginput(1);
plot(xi,yi,′gp′);
n=n+1;
xx(n,1)=xi;
yy(n,1)=yi;
end
t=0:0.001:1;xx(n+1)=2*xx(n)-xx(n-1);yy(n+1)=2*yy(n)-yy(n-1);
for i=n+1:-1:1
xx(i+1)=xx(i);yy(i+1)=yy(i);
end
xx(1)=2*xx(2)-xx(3);yy(1)=2*yy(2)-yy(3);
for i=1:n-1
x=xx(i)*(1/6)*(-t.^3+3*t.^2-3*t+1)+xx(i+1)*(1/6)*(3*t.^3-6*t.^2+4)+xx(i+2)*(1/6)*(-3*t.^3+3*t.^2+3*t+1)+xx(i+3)*(1/6)*t.^3;
y=yy(i)*(1/6)*(-t.^3+3*t.^2-3*t+1)+yy(i+1)*(1/6)*(3*t.^3-6*t.^2+4)+yy(i+2)*(1/6)*(-3*t.^3+3*t.^2+3*t+1)+yy(i+3)*(1/6)*t.^3;
plot(x,y,′r′,′linewidth′,2);axis([020020]);end
通過(guò)改變半徑使得線條邊緣表示為不同的寬度。
運(yùn)行界面如下:
說(shuō)明:下圖中所寫字體中,左邊是本文算法實(shí)現(xiàn)的,右邊圖片為網(wǎng)上下載。
圖4 本文實(shí)現(xiàn)的部分甲骨文字體
圖5 互聯(lián)網(wǎng)上收集的甲骨文字體
圖6 上面的字依次為本文實(shí)現(xiàn)的字體:朝、呈、北、丑、山、水、牛、向
圖7 上面三個(gè)圖來(lái)自互聯(lián)網(wǎng)上收集的甲骨文字體
圖8 上面的字依次為本文實(shí)現(xiàn)的字體:天、壽、卓、大
圖9 互聯(lián)網(wǎng)上收集的甲骨文字體
本文生成的甲骨文是基于圓域B樣條曲線及B樣條曲線表示的輪廓字形,它是對(duì)圓頭體的一種改進(jìn)。當(dāng)想要書寫的字體線條需要不同粗細(xì)時(shí),可以直接控制控制點(diǎn)圓域的半徑來(lái)達(dá)到目的。生成字體較好,且成本低大大提高了效率。
漢字的處理技術(shù)是一項(xiàng)有難度的工作,然而對(duì)于毛筆和甲骨文處理技術(shù)更是一項(xiàng)挑戰(zhàn)的工作。因此本文研究的只是這個(gè)領(lǐng)域的很少一部分,還有很多問(wèn)題需要進(jìn)一步的深入探索和改進(jìn)。
[1] (法)吉貝·德芒熱,(法)讓皮爾·晡熱.曲線與曲面的數(shù)學(xué):貝濟(jì)埃模型B-樣條模型NURBS模型[M].北京:商務(wù)印書館,2000.
[2] 沈娟.基于曲線輪廓描述的甲骨文字體生成和變形系統(tǒng)研究[D].蘇州:蘇州大學(xué),2009.
[3] 成敏.外形設(shè)計(jì)中的幾何逼近及圖形轉(zhuǎn)換技術(shù)研究[D].杭州:浙江大學(xué),2008.
[4] 陳笑,王國(guó)瑾.等距曲線的圓域 Bézier逼近[J].軟件學(xué)報(bào),2005,(4):617-618.
[5] Lin Q,Rokne JG.Disk B curve[J].Computer Aided Geometric Design,1998,(7):721,737.
[6] Farin G.Curves and surfaces for computer aided geometric design:a practical guide (4th edition)[M].New York:Academic Press,1997.
[7] Zhang J W.Two different forms of C-B splines[J].Computer Aided Geometric Design,1997,(1):31-41.
[8] 顧音海.甲骨文發(fā)現(xiàn)與研究[M].上海:上海書店出版社,2002.
[9] 祁毓麟,齊作聲,等.中國(guó)書法藝術(shù)[M].沈陽(yáng):遼寧美術(shù)出版社,2003.