專利名稱:毛筆電子畫刷設(shè)置裝置和毛筆電子畫刷的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機圖形處理技術(shù),尤其涉及一種毛筆電子畫刷設(shè)置裝置、描繪類似毛筆筆跡的毛筆電子畫刷、描繪毛筆電子線條的方法及裝置。
背景技術(shù):
計算機圖形學(xué)(Computer Graphics,簡稱CG)是一種使用數(shù)學(xué)算法將二維或三維圖形轉(zhuǎn)化為計算機顯示器的柵格形式的科學(xué),其目的是利用計算機產(chǎn)生令人賞心悅目的真實感圖形。光柵圖形學(xué)是計算機圖形學(xué)的一個分支,其是用光柵顯示器來顯示圖形。光柵顯示器將圖形光柵化,并對光柵化的圖形進(jìn)行處理。光柵顯示器可以看作是一個像素矩陣,在 光柵顯示器上顯示的任何一個圖形,實際上都是一些具有一種或多種顏色和灰度像素的集合。正由于這個原因,在光柵顯示器上繪制的非水平且非垂直的直線或多邊形的邊界,或多或少都會呈鋸齒狀,這種用光柵顯示器上的離散量(像素)表示連續(xù)量所引起的失真叫做走樣(aliasing)。用于減少或者消除這種效果的技術(shù)叫反走樣(antialiasing)。常見的反走樣手段有兩種方式,一是提高分辨率,二是區(qū)域采樣。其中提高分辨率的方式,硬件成本太高,并且只能減輕走樣效果,不能消除走樣,所以通常采用區(qū)域采樣的方式。在區(qū)域采樣中,目前反走樣畫線的方法有很多種,例如,可以采用圓形畫刷來畫一定寬度的線條,但是用這種畫刷繪制的線條在不同的方向上線條寬度都一致,比較單調(diào),不符合用實際的筆所畫出的線條的軌跡,例如,不能真實地反映出毛筆所寫出的字的軌跡?,F(xiàn)有的模擬毛筆筆跡的系統(tǒng)一般地都是從建立毛筆受力模型,根據(jù)筆在屏上寫字時的力量大小及方向來模擬毛筆與紙的接觸形狀,進(jìn)而來模擬毛筆效果。這種系統(tǒng)因為要檢測到筆的壓力大小及方向,所以只能應(yīng)用于帶有壓力感應(yīng)并且能夠感知筆尖的方向的觸摸屏上。并且這種數(shù)學(xué)模型比較復(fù)雜,運算量比較大。
發(fā)明內(nèi)容
本發(fā)明的發(fā)明目的是提供一種毛筆電子畫刷設(shè)置裝置、描繪電子線條的毛筆電子畫刷、毛筆電子線條描繪方法及裝置,其能繪制出類似毛筆筆跡的電子線條。根據(jù)本發(fā)明的第一方面,提供一種描繪電子線條的毛筆電子畫刷的設(shè)置裝置,其特征在于,包括形狀和中心位置設(shè)定模塊,用于設(shè)定毛筆電子畫刷的中心位置,并設(shè)定毛筆筆頭形狀的多邊形作為毛筆電子畫刷;寬度設(shè)定模塊,用于根據(jù)用戶的需要設(shè)定所述多邊形的寬度;寬度調(diào)節(jié)模塊,用于隨著毛筆電子畫刷移動的速度的變化而變化調(diào)節(jié)所述多邊形的寬度,該毛筆電子畫刷移動得越快,所述毛筆電子畫刷對應(yīng)的多邊形越小。本發(fā)明的上述毛筆電子畫刷的設(shè)置裝置還可以包括顏色分布確定模塊。該顏色分布確定模塊進(jìn)一步包括權(quán)值確定子模塊,當(dāng)以水平方向上包含毛筆電子畫刷的最小正方形外接框中的每個像素點為起點的任一條射線與所述多邊形的各邊交點的總個數(shù)為偶數(shù)個時,該像素點的權(quán)值為O ;當(dāng)為奇數(shù)個時,像素點的權(quán)值根據(jù)該像素點到毛筆電子畫刷的多邊形的各條邊的距離的最小值與一個常數(shù)的比值確定,所述常數(shù)根據(jù)經(jīng)驗確定,當(dāng)所述比值大于I時,像素點的權(quán)值為1,當(dāng)所述比值小于I時,像素點的權(quán)值等于該常數(shù);顏色分布子模塊,其通過如下公式計算出毛筆電子畫刷的顏色分布并顯示Vs = WsXVcu+(1-Ws) XVbg其中,Vs代表在水平方向上包含毛筆電子畫刷的最小正方形外接框中的任意一像素點S的R、G、B顏色分量,Vcu代表當(dāng)前毛筆電子畫刷的R、G、B顏色分量,Vbg代表背景色的R、G、B顏色分量,Ws是像素點S的權(quán)值。在本發(fā)明的上述毛筆電子畫刷的設(shè)置裝置中,當(dāng)所述毛筆電子畫刷從當(dāng)前位置移動到下一個位置時,所述寬度調(diào)節(jié)模塊比較當(dāng)前毛筆電子畫刷的寬度WCur和毛筆電子畫刷的目標(biāo)寬度wDst并調(diào)節(jié)毛筆電子畫刷的寬度wCur 當(dāng) wCur > wDst+wStep 時,wCur = wCur-wStep ;當(dāng) wCur < wDst-wStep 時,wCur = wCur+wStep ;當(dāng)wDst-wStep ^ wCur ^ wDst+wStep時,保持當(dāng)前毛筆電子畫刷的寬度wCur不變,其中毛筆電子畫刷的目標(biāo)寬度wDst由當(dāng)前的采樣距離D所確定,該采樣距離D是指系統(tǒng)根據(jù)輸入設(shè)備移動以一定的時間間隔進(jìn)行采樣而得到的當(dāng)前采樣點與上一采樣點之間的距離,wStep表示毛筆電子畫刷寬度變化的步長,該步長是根據(jù)經(jīng)驗確定的固定值。在本發(fā)明的上述毛筆電子畫刷的設(shè)置裝置中,所述毛筆電子畫刷的目標(biāo)寬度wDst與所述采樣距離D之間的關(guān)系為當(dāng)采樣距離D小于等于某一預(yù)設(shè)值時,wDst = wPen,其中wPen表示整個描繪過程中毛筆電子畫刷的最大寬度且為一固定值;當(dāng)采樣距離D大于某一預(yù)設(shè)值時,wDst = k/D, k是根據(jù)經(jīng)驗取值;當(dāng)wDst < wMin時,wDst = wMin,其中wMin表示整個描繪過程中毛筆電子畫刷的最小寬度,為固定值。本發(fā)明的上述毛筆電子畫刷的設(shè)置裝置的顏色分布確定模塊還可以包括權(quán)值存儲子模塊,其將求得的毛筆電子畫刷的最小正方形外接框中的各像素點的權(quán)值存儲成為一個由數(shù)組構(gòu)成的模板,所述數(shù)組中的各個元素對應(yīng)于外接框中各個像素點的權(quán)值。在本發(fā)明的上述毛筆電子畫刷的設(shè)置裝置中,當(dāng)毛筆電子畫刷移動,所述像素點權(quán)值確定模塊確定當(dāng)前位置的毛筆電子畫刷的水平方向的最小正方形外接框,確定當(dāng)前外接框中的各像素點的權(quán)值,并確定當(dāng)前位置的毛筆電子畫刷的外接框與當(dāng)前位置的前一位置的外接框的公共像素點和不屬于當(dāng)前位置的前一位置的外接框的像素點,將在當(dāng)前外接框中的像素點的權(quán)值和在當(dāng)前位置的前一位置的外接框中的像素點的權(quán)值之和作為公共像素點的權(quán)值;所述權(quán)值存儲子模塊存儲所述像素點權(quán)值確定模塊求得的不屬于上一外接框的各像素點的權(quán)值、以及公共像素點的權(quán)值;所述顏色分布子模塊根據(jù)像素點權(quán)值存儲子模塊中存儲的不屬于當(dāng)前外接框的各像素點的權(quán)值,并計算出各像素點的紅色分量、藍(lán)色分量和綠色分量,然后顯示。根據(jù)本發(fā)明的第二方面,提供一種毛筆電子畫刷,其由本發(fā)明的所述毛筆電子畫刷設(shè)置裝置設(shè)置而成。根據(jù)本發(fā)明的第三方面,提供一種描繪毛筆電子線條的裝置,其包括點選取模塊,采集用戶的輸入筆跡點中的四個點作為三次B樣條曲線所需的控制點;線條描繪模塊,利用三次B樣條曲線方程,基于點選取模塊選取的所述控制點確定并用反走樣線段連接待描繪電子線條上的數(shù)個點;采用所述毛筆電子畫刷描繪所述線條描繪模塊得到的反走樣線段。根據(jù)本發(fā)明的第四方面,提供一種描繪毛筆電子線條的方法,其包括點選取步驟,采集用戶的輸入筆跡點中的四個點作為三次B樣條曲線所需的四個控制點,線條描繪步驟,基于所述四個控制點,利用三次B樣條曲線方程,確定并用反走樣線段連接待描繪電子線條上的數(shù)個點,其中所述反走樣線段采用本發(fā)明的毛筆電子畫刷描繪。采用本發(fā)明的毛筆電子畫刷設(shè)置裝置、描繪電子線條的毛筆電子畫刷、毛筆電子線條描繪方法及裝置,其繪制的筆跡線條粗細(xì)有致,類似真實的毛筆筆跡;而且毛筆電子畫刷的顏色權(quán)值從中間向外層逐漸減小,使繪制的筆跡線條更美觀。
圖1示出了本發(fā)明的電子線條描繪方法的流程圖;
圖2示出了本發(fā)明的毛筆電子畫刷的示意圖;圖3示出了本發(fā)明的確定毛筆電子畫刷的像素點權(quán)值的方法流程圖;圖4示出了利用本發(fā)明的梯度權(quán)值方法給出的毛筆電子畫刷的顏色分布圖放大了 8倍的圖示;圖5示出了用本發(fā)明的方法寫出的毛筆字的樣子的圖示;圖6示出了確定本發(fā)明的毛筆電子畫刷的顏色分布的方法流程圖;圖7示出了根據(jù)本發(fā)明描繪毛筆電子線條的方法的一實施例的流程圖;圖8示出了根據(jù)鼠標(biāo)移動得到的采樣點與所畫曲線之間的關(guān)系圖;圖9示出了本發(fā)明的毛筆電子畫刷設(shè)置裝置的結(jié)構(gòu)方框圖;圖10示出了本發(fā)明的毛筆電子畫刷設(shè)置裝置中的顏色分布模塊的結(jié)構(gòu)方框圖。
具體實施例方式下面通過具體實施方式
進(jìn)一步詳細(xì)描述本發(fā)明,但本發(fā)明并不僅僅限于此。通常在計算機、手持移動終端、觸摸板等上用鼠標(biāo)或者手指、或觸控筆等輸入裝置進(jìn)行手寫輸入時,所述輸入裝置移動的筆跡在顯示裝置上顯示出的筆跡曲線,都是通過將無數(shù)個點用短線段依次連接而成,所取的點越密集,所描繪的曲線越精確、越平滑,越接近理想曲線。本發(fā)明的描繪毛筆電子線條的方法,首先求出要繪制的曲線的曲線方程,然后用短線段依次連接根據(jù)求得的曲線方程所確定的曲線上的點,從而得到所要繪制的曲線。其中要繪制的曲線的曲線方程采用B樣條方法求得。B樣條方法是描繪自由曲線和曲面的較為常用的方法。在B樣條方法中,用來描繪曲線的B樣條曲線方程通常是一個高階多項式。在使用時,為了減少計算量,希望曲線次數(shù)越低越好,但二次曲線是一條拋物線,不能反應(yīng)曲線的拐點,所以一般使用三次B樣條曲線。三次B樣條曲線具有四個控制點Pi, Pi+1,Pi+2,Pi+3,其中i彡0,根據(jù)Pi, Pi+1,Pi+2,Pi+3各點的坐標(biāo)、可以求出由該四個控制點所確定的三次B樣條曲線方程。公式(I)給出了通過三次B樣條曲線方程求B樣條曲線上的點的X坐標(biāo)的表達(dá)式,其中x0、xl、x2、x3分別是如圖8所示的四個控制點Ptl, P1, P2, P3的橫坐標(biāo)。關(guān)于B樣條曲線上的點的y坐標(biāo)的表達(dá)式與上述關(guān)于X坐標(biāo)的表達(dá)式公式(I)類似,只需將其中的x0、xl、x2、x3分別換成如圖8所示的四個控制點Ptl, P1, P2, P3的縱坐標(biāo)y0、yl、y2、y3即可。公式⑴中的參數(shù)u的取值范圍為O彡u彡1,其具體取值可以根據(jù)情況設(shè)定,u的取值越小,則通過公式(I)所求出的B樣條曲線上的點越靠近起點,u的取值越多,則表明在曲線段上所選取的點越密集。
權(quán)利要求
1.一種描繪電子線條的毛筆電子畫刷的設(shè)置裝置,其特征在于,包括 形狀和中心位置設(shè)定模塊,用于設(shè)定毛筆電子畫刷的中心位置,并設(shè)定毛筆筆頭形狀的多邊形作為毛筆電子畫刷; 寬度設(shè)定模塊,用于根據(jù)用戶的需要設(shè)定所述多邊形的寬度; 寬度調(diào)節(jié)模塊,用于隨著毛筆電子畫刷移動的速度的變化而變化調(diào)節(jié)所述多邊形的寬度,該毛筆電子畫刷移動得越快,所述毛筆電子畫刷對應(yīng)的多邊形越小。
2.根據(jù)權(quán)利要求1所述的毛筆電子畫刷設(shè)置裝置,其特征在于,還包括 顏色分布確定模塊,所述顏色分布確定模塊進(jìn)一步包括 權(quán)值確定子模塊,當(dāng)以水平方向上包含毛筆電子畫刷的最小正方形外接框中的每個像素點為起點的任一條射線與所述多邊形的各邊交點的總個數(shù)為偶數(shù)個時,該像素點的權(quán)值為O ;當(dāng)為奇數(shù)個時,像素點的權(quán)值根據(jù)該像素點到毛筆電子畫刷的多邊形的各條邊的距離的最小值與一個常數(shù)的比值確定,所述常數(shù)根據(jù)經(jīng)驗確定,當(dāng)所述比值大于I時,像素點的權(quán)值為1,當(dāng)所述比值小于I時,像素點的權(quán)值等于該常數(shù); 顏色分布子模塊,其通過如下公式計算出毛筆電子畫刷的顏色分布并顯示Vs = WsX Vcu+(1-Ws) XVbg 其中,Vs代表在水平方向上包含毛筆電子畫刷的最小正方形外接框中的任意一像素點S的R、G、B顏色分量,Vcu代表當(dāng)前毛筆電子畫刷的R、G、B顏色分量,Vbg代表背景色的R、G、B顏色分量,Ws是像素點S的權(quán)值。
3.根據(jù)權(quán)利要求1或2所述毛筆電子畫刷設(shè)置裝置,其特征在于, 當(dāng)所述毛筆電子畫刷從當(dāng)前位置移動到下一個位置時,所述寬度調(diào)節(jié)模塊比較當(dāng)前毛筆電子畫刷的寬度《Cur和毛筆電子畫刷的目標(biāo)寬度wDst并調(diào)節(jié)毛筆電子畫刷的寬度wCur 當(dāng) wCur > wDst+wStep 時,wCur = wCur-wStep ;當(dāng) wCur < wDst-wStep 時,wCur = wCur+wStep ; 當(dāng)wDst-wStep < wCur ^ wDst+wStep時,保持毛筆電子畫刷的寬度wCur原寬度不變,其中毛筆電子畫刷的目標(biāo)寬度wDst由當(dāng)前的采樣距離D所確定,該采樣距離D是指系統(tǒng)根據(jù)輸入設(shè)備移動以一定的時間間隔進(jìn)行采樣而得到的當(dāng)前采樣點與上一采樣點之間的距離,wStep表示毛筆電子畫刷寬度變化的步長,該步長是根據(jù)經(jīng)驗確定的固定值。
4.根據(jù)權(quán)利要求3所述的毛筆電子畫刷設(shè)置裝置,其特征在于, 所述毛筆電子畫刷的目標(biāo)寬度wDst與所述采樣距離D之間的關(guān)系為 當(dāng)采樣距離D小于等于某一預(yù)設(shè)值時,wDst = wPen,其中wPen表示整個描繪過程中毛筆電子畫刷的最大寬度且為一固定值; 當(dāng)采樣距離D大于某一預(yù)設(shè)值時,wDst = k/D, k是根據(jù)經(jīng)驗取值; 當(dāng)wDst < wMin時,wDst = wMin,其中wMin表示整個描繪過程中毛筆電子畫刷的最小寬度,為固定值。
5.根據(jù)權(quán)利要求2所述的毛筆電子畫刷設(shè)置裝置,其特征在于,所述顏色分布確定模塊還包括, 權(quán)值存儲子模塊,其將求得的毛筆電子畫刷的最小正方形外接框中的各像素點的權(quán)值存儲成為一個由數(shù)組構(gòu)成的模板,所述數(shù)組中的各個元素對應(yīng)于外接框中各個像素點的權(quán)值。
6.根據(jù)權(quán)利要求5所述的毛筆電子畫刷設(shè)置裝置,其特征在于, 當(dāng)毛筆電子畫刷移動,所述像素點權(quán)值確定模塊確定當(dāng)前位置的毛筆電子畫刷的水平方向的最小正方形外接框,確定當(dāng)前外接框中的各像素點的權(quán)值,并確定當(dāng)前位置的毛筆電子畫刷的外接框與當(dāng)前位置的前一位置的外接框的公共像素點和不屬于當(dāng)前位置的前一位置的外接框的像素點,將在當(dāng)前外接框中的像素點的權(quán)值和在當(dāng)前位置的前一位置的外接框中的像素點的權(quán)值之和作為公共像素點的權(quán)值; 所述權(quán)值存儲子模塊存儲所述像素點權(quán)值確定模塊求得的不屬于上一外接框的各像素點的權(quán)值、以及公共像素點的權(quán)值; 所述顏色分布子模塊根據(jù)權(quán)值存儲子模塊中存儲的不屬于當(dāng)前外接框的各像素點的權(quán)值,并計算出各像素點的紅色分量、藍(lán)色分量和綠色分量,然后顯示。
7.一種毛筆電子畫刷,其特征在于,由權(quán)利要求1-6所述的毛筆電子畫刷設(shè)置裝置設(shè)置而成。
8.一種應(yīng)用如權(quán)利要求7所述毛筆電子畫刷描繪線條的裝置,其特征在于,包括 點選取模塊,采集用戶的輸入筆跡點中的四個點作為三次B樣條曲線所需的控制點; 線條描繪模塊,利用三次B樣條曲線方程,基于點選取模塊選取的所述控制點確定并用反走樣線段連接待描繪電子線條上的數(shù)個點; 采用所述毛筆電子畫刷描繪所述線條描繪模塊得到的反走樣線段。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于, 所述毛筆電子畫刷描繪所述線條描繪模塊得到的反走樣線段時,毛筆電子畫刷的中心從反走樣線段的起點開始,以一定的步長向反走樣線段的終點移動。
10.根據(jù)權(quán)利要求9所述的電子線條描繪裝置,其特征在于, 當(dāng)毛筆電子畫刷以一定的步長P從反走樣線段的起點向其終點移動時,如果到達(dá)終點時多余一小段距離S,則畫下一段反走樣線段時毛筆電子畫刷的起點從下一段反走樣線段的起點向其終點側(cè)偏移一段距離Ρ-s,其中s < P。
11.一種應(yīng)用如權(quán)利要求7所述毛筆電子畫刷描繪線條的方法,其特征在于,包括 點選取步驟,采集用戶的輸入筆跡點中的四個點作為三次B樣條曲線所需的四個控制點, 線條描繪步驟,基于所述四個控制點,利用三次B樣條曲線方程,確定并用反走樣線段連接待描繪電子線條上的數(shù)個點,其中所述反走樣線段所述毛筆電子畫刷描繪。
12.根據(jù)權(quán)利要求11所述的電子線條描繪方法,其特征在于, 所述反走樣線段采用毛筆電子畫刷描繪包括 所述毛筆電子畫刷的中心從反走樣線段的起點開始,以一定的步長向反走樣線段的終點移動。
13.根據(jù)權(quán)利要求11所述的電子線條描繪方法,其特征在于, 所述反走樣線段采用毛筆電子畫刷描繪還包括 當(dāng)毛筆電子畫刷以一定的步長P從反走樣線段的起點向其終點移動時,如果到達(dá)終點時多余一小段距離S,則畫下一段反走樣線段時毛筆電子畫刷的起點從下一段反走樣線段的起點向其終點側(cè)偏移一段距離Ρ-s,其中s < P。
全文摘要
本發(fā)明提供一種毛筆電子畫刷的設(shè)置裝置,其包括形狀和中心位置設(shè)定模塊,用于設(shè)定毛筆電子畫刷的中心位置,并設(shè)定毛筆筆頭形狀的多邊形作為毛筆電子畫刷;寬度設(shè)定模塊,用于根據(jù)用戶的需要設(shè)定所述多邊形的寬度;寬度調(diào)節(jié)模塊,用于隨著毛筆電子畫刷移動的速度的變化而變化調(diào)節(jié)所述多邊形的寬度,該毛筆電子畫刷移動得越快,所述毛筆電子畫刷對應(yīng)的多邊形越小。本發(fā)明還提供一種由該毛筆電子畫刷的設(shè)置裝置的毛筆電子畫刷。另外,本發(fā)明還提供一種使用所述毛筆電子畫刷描繪毛筆電子線條的裝置及方法。利用本發(fā)明,能夠繪制出類似于毛筆筆跡的電子線條。
文檔編號G06T11/80GK102999321SQ201110274499
公開日2013年3月27日 申請日期2011年9月15日 優(yōu)先權(quán)日2011年9月15日
發(fā)明者肖超, 鄒明福 申請人:漢王科技股份有限公司