專利名稱:自動(dòng)化文字筆劃與筆順顯示方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種文字筆劃與筆順顯示方法,特別是一種自動(dòng)化文字筆劃與筆順顯示方法。
為了要使學(xué)童可以利用電腦的便利,學(xué)習(xí)繁雜的中文字書寫方法,電腦輔助教學(xué)工作者莫不致力于中文文字教學(xué)程序的制作。然而,由于中文字的數(shù)量大,筆劃種類復(fù)雜,以往的電腦輔助教學(xué)軟件,大多采用預(yù)制動(dòng)畫的方式,來制作筆劃的顯示過程。這種方式雖然可以顯示非常漂亮而正確的文字動(dòng)態(tài),但必須花費(fèi)大量的人力投注于每個(gè)字的個(gè)別動(dòng)畫制作上,成本極高,而且由于是固定的動(dòng)畫,缺乏彈性與互動(dòng)性,且必須使用大量儲(chǔ)存空間,更難以在互聯(lián)網(wǎng)絡(luò)環(huán)境下使用,實(shí)用程度有限。
本發(fā)明的主要目的在于提供一種不需繁雜的動(dòng)畫制作過程及可節(jié)省數(shù)據(jù)儲(chǔ)存空間的自動(dòng)化文字筆劃與筆順顯示方法。
本發(fā)明的另一目的在于提供一種可在互聯(lián)網(wǎng)絡(luò)上快速傳輸?shù)淖詣?dòng)化文字筆劃與筆順顯示方法;利用本方法制作出來的動(dòng)態(tài)筆劃電子檔案極小化,便于在互聯(lián)網(wǎng)絡(luò)上快速傳輸。
為達(dá)到上述目的,本發(fā)明采取如下技術(shù)措施本發(fā)明的自動(dòng)化文字筆劃與筆順顯示方法,是以貝氏曲線的封閉型等高線定義筆劃形狀的外框,以開放型的等高線定義筆劃的走勢方向,以分節(jié)式計(jì)算方法描繪筆劃的范圍與向量。
其中,產(chǎn)生一條與所要描繪筆劃外框封閉曲線同步的開放曲線,其位置重疊在封閉曲線上,由開放曲線的第一個(gè)點(diǎn)開始,沿線依序以分節(jié)式計(jì)算并描繪所對映的封閉曲線范圍與向量。
其中,以開放曲線的點(diǎn)和點(diǎn)之間平均分割成若干小分節(jié),依線段的斜率,先畫出一個(gè)起點(diǎn)與分節(jié)小點(diǎn)間的平行四邊形或圓形,再算出其對映在封閉曲線內(nèi)部應(yīng)到達(dá)的區(qū)域,在該區(qū)域涂上前景色或陰影、漸層色、網(wǎng)點(diǎn)、材料色等,該封閉曲線其后的部分則涂為背景色或其他顏色,這樣,再移至下一分節(jié)小點(diǎn)直至完成該字的所有筆劃為止。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下效果本發(fā)明的方法可以應(yīng)用包含傳統(tǒng)式磁盤或光盤的電腦輔助教學(xué)程序,或是在通過互聯(lián)網(wǎng)絡(luò)傳遞的網(wǎng)頁上使用。本發(fā)明研究并歸納出中文字筆順和筆劃的特性,并以向量的方式,規(guī)范出筆順及筆劃的基本數(shù)據(jù),然后利用電腦快速計(jì)算的特長,自動(dòng)算出所要顯示文字的筆劃過程,從而在電腦屏幕上顯示正確的一筆一劃,使學(xué)習(xí)者可清楚地看到整個(gè)筆劃順序與方向過程。并且利用向量特性,可以任意變更字體的大小、速度、顏色、寬窄,甚至可以使學(xué)習(xí)者利用電腦光標(biāo)控制工具,如鼠標(biāo)器或光筆,自己在電腦上練習(xí)。比起現(xiàn)有的電腦教學(xué)程序采用固定預(yù)制動(dòng)畫的顯示方法,本發(fā)明除了可以使中文文字的學(xué)習(xí)更快、更有彈性、效率更高,并節(jié)省大量制作的人力與時(shí)間之外,本發(fā)明的電子檔案空間大小,與顯示一個(gè)字所需的傳統(tǒng)動(dòng)畫檔案比較,將只有傳統(tǒng)動(dòng)畫檔案的“千分之一”,甚至更小。
總之,本發(fā)明可簡化動(dòng)態(tài)筆劃的制作過程;且制作完成后的電子檔案空間非常小;并具有在網(wǎng)絡(luò)上可快速傳輸并可以任意變換字體大小、顯示速度、筆劃顏色、線條寬窄的功能。
結(jié)合附圖及實(shí)施例對本發(fā)明的方法特征詳細(xì)說明如下
圖1本發(fā)明實(shí)施中文字筆劃及筆順動(dòng)態(tài)顯示的工作流程圖;圖2本發(fā)明制作中文字筆劃外型、走向的向量數(shù)據(jù)檔案的方法流程圖;圖3本發(fā)明的中文字筆劃與筆順自動(dòng)顯示流程圖;圖4本發(fā)明中的開放式曲線與封閉式曲線的示意圖;圖5本發(fā)明的程序計(jì)算之后逐步填滿的筆劃區(qū)域的示意圖。
本發(fā)明的具體說明如下
a.筆劃外型、筆劃走向與顏色屬性的向量數(shù)據(jù)格式中文文字的每一個(gè)筆劃的形狀,都可以用一個(gè)“封閉貝氏曲線”加以定義,也就是先定義線上控制點(diǎn),然后,利用線外控制點(diǎn)來控制連接點(diǎn)之間的線的彎曲程度及彎曲方向,這種技術(shù)已廣泛地被用于電腦業(yè),用來設(shè)計(jì)可任意縮放的向量字型或向量圖形;本發(fā)明所用來定義筆劃外框的向量數(shù)據(jù),也就是這種多次貝氏曲線。
貝氏曲線可以成為封閉式,也就是曲線的起點(diǎn)和終點(diǎn)彼此連接,然后形成一塊封閉區(qū)域,如果把這塊區(qū)域涂上顏色,就成為一個(gè)平常所見帶有色彩的單一筆劃形狀。
封閉曲線內(nèi)部的“涂色”,不一定是單一顏色,另外可以包括陰影、漸層色、網(wǎng)點(diǎn)、材料圖形等填涂方式。
貝氏曲線也可以成為開放式,也就是起點(diǎn)與終點(diǎn)之間不連接,這種貝氏曲線無法形成一塊封閉區(qū)域,也無法作內(nèi)部填涂,然而,我們可以利用這種開放式貝氏曲線,作為每個(gè)筆劃顯示的“方向向量”。
如圖1所示,其為本發(fā)明的中文字筆劃及筆順動(dòng)態(tài)顯示工作流程圖,包括如下步驟首先,(步驟11)制作每一個(gè)中文字動(dòng)態(tài)筆劃及筆順的數(shù)據(jù)庫;步驟12設(shè)計(jì)一個(gè)可以讀取前一步驟中“動(dòng)態(tài)筆劃及筆順數(shù)據(jù)庫的程序”,該程序并可動(dòng)態(tài)顯示該字的筆劃與筆順在屏幕上;步驟13輸入一個(gè)中文字后,前述程序即自數(shù)據(jù)庫中取出該字的數(shù)據(jù),并且動(dòng)態(tài)顯示該字的筆劃與筆順。
如圖2所示,其為本發(fā)明中制作中文字筆劃外型、走向的向量數(shù)據(jù)檔案的方法流程圖,包括如下步驟首先,進(jìn)入步驟22由程序計(jì)算并定義出某一個(gè)中文字的外框封閉曲線及其控制點(diǎn);步驟23以開放式曲線定義該中文字的每一個(gè)筆劃的先后順序及方向向量,產(chǎn)生與筆劃數(shù)相同數(shù)目的開放曲線;
步驟24將每一個(gè)筆劃的開放曲線重疊對映至描述該字外框的封閉曲線上,并將前述相對映的外框封閉曲線與每一個(gè)筆劃的開放式曲線數(shù)據(jù)儲(chǔ)存在存儲(chǔ)裝置中;以上步驟可重復(fù)進(jìn)行。
電腦程序只要讀入以上數(shù)據(jù),就可以一筆一筆地計(jì)算及顯示出每個(gè)筆劃的顯示圖形,而且可以單獨(dú)挑選其中某個(gè)筆劃個(gè)別顯示。
b.開放式同步外框描述筆劃走向的方法本發(fā)明的基本設(shè)計(jì)之一,在于運(yùn)用描述筆劃外框同步的開放式曲線,定義該筆畫的走向數(shù)據(jù),如圖4所示,開放式曲線的位置,剛好重疊在封閉曲線之上,由開放式曲線的第一個(gè)點(diǎn)開始,往下面的點(diǎn),剛好成為手寫筆劃的方向,當(dāng)外框有轉(zhuǎn)折的地方,開放式曲線也可以立即轉(zhuǎn)折,依照這個(gè)向量所算出的圖形,可以很精確地描述筆劃的方向與走勢。
c.筆劃走向的分節(jié)式計(jì)算方法有了筆劃走向的數(shù)據(jù)之后,電腦程序可以依照該數(shù)據(jù),計(jì)算筆劃的動(dòng)作。計(jì)算的方法是,把開放曲線的點(diǎn)和點(diǎn)之間平均分割成若干小“分節(jié)”,然后,按照該線段的斜率,在電腦存儲(chǔ)器的緩沖區(qū)內(nèi),畫出一個(gè)起點(diǎn)與該分節(jié)小點(diǎn)間的平行四邊形或圓形,然后,在另一塊緩沖區(qū)內(nèi),算出封閉曲線的內(nèi)部區(qū)域以及封閉曲線內(nèi)筆劃應(yīng)到達(dá)的分節(jié)點(diǎn)區(qū)域,并涂上前景顏色,該封閉曲線其后的部分則涂為背景色或其他顏色,這樣,再移至下一分節(jié)點(diǎn)陸續(xù)完成,就成為顯示中的筆劃圖形了。
如圖3所示,其為本發(fā)明中的中文字筆劃與筆順自動(dòng)顯示的流程圖,其包括如下步驟首先,進(jìn)入步驟31使用者輸入一個(gè)中文字;進(jìn)入步驟32在儲(chǔ)存數(shù)據(jù)內(nèi)容的存儲(chǔ)裝置(如硬盤、光盤)中取出儲(chǔ)存該字外框的封閉曲線數(shù)據(jù)及筆劃、方向向量的開放式曲線的數(shù)據(jù)(等高線);
步驟33由程序根據(jù)開放式曲線前進(jìn)量計(jì)算出封閉曲線相對映的填涂范圍,并同步地將填涂過程動(dòng)態(tài)地顯示在屏幕上;步驟34輸入下一個(gè)中文字;以上步驟重復(fù)進(jìn)行。
d.利用本發(fā)明在互聯(lián)網(wǎng)絡(luò)上快速傳輸及快速運(yùn)算、顯示的程序碼本發(fā)明的特色之一,就是儲(chǔ)存用的數(shù)據(jù)量非常小,由于所有顯示的圖形,都是顯示時(shí)才被計(jì)算出來,并不需要如傳統(tǒng)電腦動(dòng)畫一樣,事先制作并且存成大型動(dòng)畫檔案,因此,非常適合用在極度講究傳輸速度的互聯(lián)網(wǎng)絡(luò)上。因?yàn)閿?shù)據(jù)量少,才能達(dá)到快速傳遞的目的。由于本發(fā)明需要執(zhí)行程序來計(jì)算筆劃圖形,要在網(wǎng)頁上執(zhí)行計(jì)算程序,必須借助軟件程序技術(shù)才可以實(shí)現(xiàn),因此,動(dòng)態(tài)計(jì)算筆劃方法,包含了在互聯(lián)網(wǎng)絡(luò)的網(wǎng)頁上所使用的程序碼技術(shù)。本發(fā)明的“自動(dòng)化文字筆劃與筆順顯示方法”的設(shè)計(jì)重點(diǎn),在于靈活運(yùn)用貝氏曲線向量數(shù)據(jù)的特性。貝氏曲線的組成結(jié)構(gòu)是由多個(gè)“點(diǎn)”組成一條可以任意彎曲的線條,基本上,每一個(gè)貝氏曲線點(diǎn)在二維平面上,具有以下的數(shù)據(jù)內(nèi)容x-貝氏曲線點(diǎn)的橫軸座標(biāo)y-貝氏曲線點(diǎn)的縱軸座標(biāo)on-該控制點(diǎn)屬于線上點(diǎn)(1)或是線外點(diǎn)(0)當(dāng)兩個(gè)線上點(diǎn)(on=1)彼此相連時(shí),兩者之間的連接線段就是一條直線線段;相反,如果兩個(gè)線上的點(diǎn)之間有一個(gè)線外點(diǎn)存在,則該點(diǎn)用來控制該線段的“曲率”,曲率的程度可以用數(shù)學(xué)上的貝式函數(shù)計(jì)算,如果,線外點(diǎn)距離原始的直線越遠(yuǎn),則該線段被彎曲的程度越大。兩個(gè)線上點(diǎn)之間的“線外控制點(diǎn)”可以不只一個(gè),如果有兩個(gè)控制點(diǎn),該曲線被稱為二次貝氏曲線,一般來說,常被用在向量字型上的曲線,如真實(shí)型(TrueType)或附錄(Postscript)格式,多半都是二次曲線,本發(fā)明中使用的也多半是二次貝氏曲線。
多個(gè)貝氏曲線點(diǎn)的互相連接,從頭到尾可以形成一個(gè)任意形狀的彎曲線,這個(gè)彎曲線,通常被稱做“等高線或周線”。
中文字的每一個(gè)筆劃,無論屬于何種字體,都可以被視為一個(gè)單獨(dú)的封閉等高線,因此,筆劃數(shù)目多少的字,就用多少個(gè)等高線來組成。每一個(gè)等高線都有一個(gè)“內(nèi)部區(qū)域”,在內(nèi)部區(qū)域上色,稱為“填涂”方式,一般電腦上的字型顯示多半只用單一顏色,也就是整個(gè)字只要用一種顏色屬性來代表就行了,但是在本技術(shù)中,為了使學(xué)習(xí)者能夠清楚地看見每個(gè)筆劃的不同,有必要用不同顏色來區(qū)隔各個(gè)不同的筆劃等高線,因此,我們必須對每個(gè)等高線都定義一個(gè)不同的屬性。
有人發(fā)明了以采用跟封閉等高線互相重疊的開放式等高線來描述筆順的方法,由設(shè)計(jì)師在一個(gè)已經(jīng)成型的封閉等高線筆劃上面,畫出筆順的途徑,然后將這條筆順路徑線數(shù)位化,變成一個(gè)使用相同貝氏曲線來記錄的開放式曲線,并將封閉式曲線數(shù)據(jù)和開放式數(shù)據(jù)存放在一起(如圖2所示)。當(dāng)電腦程序讀入兩種數(shù)據(jù)后,就可以沿著開放曲線,逐步計(jì)算出封閉曲線中該筆劃目前的前進(jìn)位置,然后,只填涂由筆劃開始處到該前進(jìn)位置的區(qū)域,其余區(qū)域仍然留空(如圖5所示)。當(dāng)我們隨著時(shí)間的進(jìn)展,每次更新筆劃圖形,看起來就會(huì)像是用毛筆逐步填滿空白的筆劃區(qū)域一樣(如圖2)。
電腦程序讀入這些數(shù)據(jù),并且按照正確的演算方式,先算出筆劃外框圖形,然后將筆順各點(diǎn)之間分段,依序畫出由起點(diǎn)至目前分段的圖形,顯示在電腦屏幕上,就顯示本發(fā)明的筆劃動(dòng)態(tài)效果。這里所說的電腦程序,包括一般常見的視窗程序(EXE)、視窗函數(shù)庫程序(DLL)、網(wǎng)頁上可以使用的插入式程序(PLUG-INS)、爪哇語言程序(JAVA)、微軟ActiveX程序等等,都包含在本技術(shù)的使用范疇之內(nèi)。
如圖4所示,其為本發(fā)明中的開放式曲線與封閉式曲線的示意圖;按本發(fā)明的方法,將開放式曲線重疊在封閉式曲線上面,封閉式曲線定義了筆劃的外框,開放式曲線定義了筆順的方向,圖中,以中文字“人”字為例,定義“人”字左邊一撇及右邊一捺的筆順43方向的為開放式曲線42,且開放式曲線42重疊在定義筆劃外框的封閉式曲線41上面。
如圖5所示,其為本發(fā)明的程序計(jì)算后逐步填滿的筆劃區(qū)域的示意圖;圖中,以中文字“人”字為例,根據(jù)程序計(jì)算自“人”字左邊一撇的上端開始至右邊一捺逐步填滿,完成該字的顯示。
權(quán)利要求
1.一種自動(dòng)化文字筆劃與筆順顯示方法,其特征在于,以貝氏曲線封閉型等高線定義筆劃形狀的外框,以開放型的等高線定義筆劃的走勢方向,以分節(jié)式計(jì)算方法描繪筆劃的范圍與向量。
2.根據(jù)權(quán)利要求1所述的文字筆劃與筆順顯示方法,其特征在于,產(chǎn)生一條與所要描繪筆劃外框封閉曲線同步的開放曲線,其位置剛好重疊在封閉曲線上,由開放曲線的第一個(gè)點(diǎn)開始,沿線依序以分節(jié)式計(jì)算并描繪所對映的封閉曲線范圍與向量。
3.根據(jù)權(quán)利要求1或2所述的文字筆劃與筆順顯示方法,其特征在于,以開放曲線的點(diǎn)和點(diǎn)之間平均分割成若干小分節(jié),依線段的斜率,先畫出一個(gè)起點(diǎn)與該分節(jié)小點(diǎn)間的平行四邊形或圓形,再算出其對映在封閉曲線內(nèi)部應(yīng)到達(dá)的區(qū)域,以該區(qū)域涂上前景色或陰影、漸層色、網(wǎng)點(diǎn)、材料色等,該封閉曲線其后的部分則涂為背景色或其他顏色,這樣,再移至下一分節(jié)小點(diǎn)直至完成該字的所有筆劃為止。
全文摘要
一種自動(dòng)化文字筆劃與筆順顯示方法,以貝氏曲線的封閉曲線定義筆劃形狀的外框,以開放曲線定義筆劃的方向,以分節(jié)式計(jì)算方法描繪筆劃的范圍與向量;開放曲線的位置與封閉曲線重疊,由開放曲線的第一個(gè)點(diǎn)開始,沿線依序以分節(jié)式計(jì)算并描繪所對映的封閉曲線范圍與向量;在封閉曲線內(nèi)部區(qū)域,涂前景色,封閉曲線后的部分涂背景色,從起點(diǎn)開始再移至下一分節(jié)小點(diǎn)直至完成該字的所有筆劃為止。本發(fā)明可簡化動(dòng)態(tài)筆劃的制作過程,占用儲(chǔ)存空間小。
文檔編號(hào)G06T11/20GK1321954SQ0010828
公開日2001年11月14日 申請日期2000年4月30日 優(yōu)先權(quán)日2000年4月30日
發(fā)明者李元泰 申請人:太易資訊股份有限公司