專利名稱:筆跡的書寫方法及書寫裝置的制作方法
技術領域:
本發明涉及在計算機中繪圖技術領域,特別涉及一種筆跡的書寫方法及書 寫裝置。
背景技術:
隨著計算機應用的日益普及,計算機繪圖技術也日益普遍,涉及美術、設 計、教育、軍事以及會議等領域,通常情況下,計算機繪制圖像是通過識別畫 筆(鼠標)移動的時候的一些點,將這些點通過直線段按照畫筆軌跡順序相連, 得到一條畫筆折線,當取樣點足夠多的情況下,該折線即可以粗略地表示出畫 筆的路徑,但是,由于顯示設備的光柵特性以及由此而帶來的整數坐標體系, 所繪制出來的畫筆軌跡普遍存在鋸齒、走樣的問題,導致書寫筆跡不平滑。
發明內容
針對上述現有技術中存在的問題,本發明的第一個目的在于提供一種筆跡 的書寫方法,以實現筆跡的平滑書寫。
為達到上述目的,本發明采用以下技術方案 一種筆跡的書寫方法,包括步驟 根據預設筆寬建立初始模型矩陣; 獲取曲線路徑上的采樣點的位置坐標;
判斷當前采樣點與前一采樣點在橫向坐標方向上的橫向坐標距離是否大于 或者等于在縱向坐標方向上的縱向坐標距離;
若是,根據所述當前采樣點的橫向位置坐標的小數部分、所述當前采樣點 的縱向位置坐標的小數部分,自初始行、初始列開始,依次對所述初始模型矩 陣的行元素值、列元素值進行變換得到第一變換矩陣,并將該第一變換矩陣作
為最終變換矩陣;
若否,根據所述當前采樣點的橫向位置坐標的小數部分、所述當前采樣點 的縱向位置坐標的小數部分,自初始列、初始行開始,依次對所述初始模型矩 陣的列元素值、行元素值進行變換得到第二變換矩陣,并將該第二變換矩陣作 為最終變換矩陣;
繪制所述最終變換矩陣,并用該最終變換矩陣填充所述當前采樣點。
根據上述本發明的方案,其通過對當前采樣點與前一采樣點在橫向坐標方 向上的橫向坐標距離與在縱向坐標方向上的縱向坐標距離的比較,并根據比較 結果選用相應的預設方式對初始模型矩陣進行變換,在變換時,是根據當前釆 樣點的橫向位置坐標的小數部分、縱向位置坐標的小數部分等進行變換,并用 變換后的最終變換矩陣填充采樣點,由于是釆用小數部分對初始模型矩陣進行 變換,小數部分具有較高的精度,且是用變換后的最終變換矩陣填充當前采樣 點,實現簡單,效率高,在各釆樣點相對比較密集的情況下,利用各采樣點的 最終變換矩陣進行填充后可以達到很好的平滑性效果。
本發明的第二個目的在于提供一種筆跡的書寫裝置,其可以實現平滑的筆 跡書寫。
為達到上述目的,本發明采用以下技術方案 一種筆跡的書寫裝置,包括
初始模型矩陣設置模塊,用于根據預設筆寬建立初始模型矩陣;
采樣點獲取模塊,用于獲取曲線路徑上的采樣點的位置坐標;
與所述采樣點獲取模塊相連接的判別模塊,用于判斷當前采樣點與前一采 樣點在橫向坐標方向上的橫向坐標距離是否大于或者等于在縱向坐標方向上的 縱向坐標距離;
與所述初始模型矩陣設置模塊、所述采樣點獲取模塊、所述判別模塊相連 接的第一變換模塊,用于當所述判別模塊的判斷結果為是時,根據所述當前采 樣點的橫向位置坐標的小數部分、所述當前采樣點的縱向位置坐標的小數部分,
自初始行、初始列開始,依次對所述初始模型矩陣的行元素值、列元素值進行 變換得到第一變換矩陣;
與所述初始模型矩陣設置模塊、所述釆樣點獲取模塊、所述判別模塊相連 接的第二變換模塊,用于當所述判別模塊的判斷結果為否時,根據所述當前采 樣點的橫向位置坐標的小數部分、所述當前采樣點的縱向位置坐標的小數部分, 自初始列、出事行開始,依次對所述初始模型矩陣的列元素值、行元素值進行
變換得到第二變換矩陣;
與所述判別模塊、所述第一變換模塊、所述第二變換模塊相連接的最終變 換矩陣確定模塊,用于當所述判別模塊的判斷結果為是時,將所述第一變換矩 陣作為最終變換矩陣,當所述判別模塊的判斷結果為否時,將所述第二變換矩
陣作為最終變換矩陣;
與所述最終變換矩陣確定模塊相連接的填充模塊,用于繪制所述最終變換 矩陣確定模塊所確定的最終變換矩陣,并用該最終變換矩陣填充所述當前采樣 點。
根據上述本發明的方案,其通過對當前采樣點與前一采樣點在橫向坐標方 向上的橫向坐標距離與在縱向坐標方向上的縱向坐標距離的比較,并根據比較 結果選用相應的預設方式對初始模型矩陣進行變換,在變換時,是根據當前采 樣點的橫向位置坐標的小數部分、縱向位置坐標的小數部分等進行變換,并用 變換后的最終變換矩陣填充采樣點,由于是采用小數部分對初始模型矩陣進行 變換,小數部分具有較高的精度,且是用變換后的最終變換矩陣填充當前采樣 點,實現簡單,效率高,在各采樣點相對比較密集的情況下,利用各采樣點的 最終變換矩陣進行填充后可以達到4艮好的平滑性效果。
圖1是本發明筆跡的書寫方法的流程示意圖; 圖2是本發明筆跡的書寫裝置的結構示意圖。
具體實施例方式
在本發明的方案中,通過預先根據筆寬建立初始模型矩陣,各釆樣點共用 相同的初始模型矩陣,然后將該初始模型矩陣,并根據當前采樣點的位置坐標 的小數部分、以及與前一采樣點的坐標的差值為參數對該模型進行變換,并用 變換后的矩陣填充對應的采樣點。
參見圖l所示,是本發明的筆跡的書寫方法的流程示意圖,其具體包括
步驟S101:根據預設筆寬,建立初始模型矩陣,其中,矩陣中的各元素值 可以是代表相應的透明度值,進入步驟S102;
步驟S102:獲取曲線路徑上的采樣點的位置坐標,進入步驟S103;
步驟S103:判斷當前采樣點與前一采樣點在橫向坐標方向上的橫向坐標距 離是否大于或者等于在縱向坐標方向上的縱向坐標距離,若是,進入步驟S104, 若否,則進入步驟S105;
步驟S104:根據第一預設變換方式、所述初始模型矩陣、所述當前采樣點 的橫向位置坐標的小數部分、所述當前采樣點的縱向位置坐標的小數部分,對 所述初始模型矩陣進行變換得到第一變換矩陣,并將該第一變換矩陣作為最終 變換矩陣,進入步驟S106;
步驟S105:根據第二預設變換方式、所述初始模型矩陣、所述當前采樣點 的橫向位置坐標的小數部分、所述當前采樣點的縱向位置坐標的小數部分,對 所述初始模型矩陣進行變換得到第二變換矩陣,并將該第二變換矩陣作為最終 變換矩陣,進入步驟S106;
步驟S106:繪制所述最終變換矩陣,并用該最終變換矩陣填充所述當前采 樣點,即在當前采樣點與前一采樣點在橫向坐標方向上的橫向坐標距離大于或 者等于在縱向坐標方向上的縱向坐標距離時,使用所述步驟S104中的第一變換 矩陣填充當前采樣點,在當前采樣點與前一采樣點在橫向坐標方向上的橫向坐 標距離小于在縱向坐標方向上的縱向坐標距離時,使用所述步驟S105中的第二 變換矩陣填充當前采樣點。200810199139. 8
說明書第5/14頁
根據上述本發明的方法,其通過對當前采樣點與前一采樣點在橫向坐標方 向上的橫向坐標距離與在縱向坐標方向上的縱向坐標距離進行比較,并根據比 較結果選用相應的預設方式對初始模型矩陣進行變換,在變換時,是根據當前 采樣點的橫向位置坐標的小數部分、縱向位置坐標的小數部分等進行變換,并 用變換后的最終變換矩陣填充采樣點,由于是釆用小數部分對初始模型矩陣進 行變換,小數部分具有較高的精度,且是用變換后的最終變換矩陣填充當前采 樣點,實現簡單,效率高,在各采樣點相對比較密集的情況下,利用各采樣點 的最終變換矩陣進行填充后可以達到很好的平滑性效果。
其中,在根據第一預設變換方式進行變換時,是自上述初始模型矩陣的初 始行、初始列開始依次對該初始模型矩陣的各個行的元素值、各個列的元素值
進行變換,且在后變換均是在在前變換的基礎上進行,假設初始行為第0行、 初始列為第0列,具體可以包括
計算初始^^型矩陣中第l行減去第0行的差值,將該差值與當前采樣點的 縱向位置坐標的小數部分相乘,并將乘積結果與該第0行求和后所得的和值作 為該第0行的變換值;
在上述步驟計算結果的基礎上,計算第1列減去第0列的差值,將該差值 與所述橫向位置坐標的小數部分相乘,并將乘積結果與第0列求和后所得的和 值作為該第0列的變換值;
在上述各步驟計算結果的基礎上,計算第2行減去第1行的差值,將該差 值與當前采樣點的縱向位置坐標的小數部分相乘,并將該乘積結果與該第l行 求和后所得的和值作為該第l行的變換值;
在上述各步驟計算結果的基礎上,計算第2列減去第1列的差值,將該差 值與當前采樣點的橫向位置坐標的小數部分相乘,并將乘積結果與第1列求和 后所得的和值作為該第1列的變換值;
以此類推,直至計算完倒數第二行、倒數第二列的變換值,隨后進入對最 后一行、最后一列的變換
在上述各步驟計算結果的基礎上,計算最后一行減去倒數第二行的差值的絕對值,并將該絕對值作為該最后一行的變換值;
在上述各步驟計算結果的基礎上,計算最后一列減去倒數第二列的差值的 絕對值,并將該絕對值作為該最后一列的變換值。
根據如上所述,由于當前采樣點與前一采樣點的橫向坐標距離大于或者等 于了縱向坐標距離,因此,在根據第一預設變換方式進行變換時,其首先對初 始模型矩陣的行的元素進行變換,然后對相應的列的元素進行變換,且在后的 變換均是在在前變換的基礎上進行。
此外,在上述根據第二預設變換方式對初始模型矩陣進行變換時,是自上 述初始模型矩陣的初始列、初始行開始依次對該初始模型矩陣的各個列的元素 值、各個行的元素值進行變換,且在后變換均是在在前變換的基礎上進行,假 設初始列為第0列、初始行為第0行,具體可以的過程可以包括
計算所述初始模型矩陣中第1列減去第0列的差值,將該差值與當前采樣 點的橫向位置坐標的小數部分相乘,并將乘積結果與該第0列求和后所得的和 值作為該第0列的變換值;
在上述步驟計算結果的基礎上,計算第1行減去第0行的差值,將該差值 與當前采樣點的縱向位置坐標的小數部分相乘,并將乘積結果與第0行求和后 所得的和值作為該第O行的變換值;
在上述各步驟計算結果的^5出上,計算第2列減去第1列的差值,將該差 值與當前采樣點的橫向位置坐標的小數部分相乘,并將該乘積結果與該第1列 求和后所得的和值作為該第1列的變換值;
在上述各步驟計算結果的基礎上,計算第2行減去第1行的差值,將該差 值與當前采樣點的縱向位置坐標的小數部分相乘,并將乘積結果與第1行求和 后所得的和值作為該第1行的變換值;
以此類推,直至計算完該矩陣中倒數第二列、倒數第二行的變換值,隨后 進入對最后一列、最后一行的變換
在上述各步驟計算結果的基礎上,計算最后一列減去倒數第二列的差值的
絕對值,并將該絕對值作為該最后一列的變換值;
在上述各步驟計算結果的基礎上,計算最后一行減去倒數第二行的差值的 絕對值,并將該絕對值作為該最后一行的變換值。
根據如上所述,由于當前采樣點與前一采樣點的橫向坐標距離小于了縱向 坐標距離,因此,在根據第二預設變換方式進行變換時,其首先對初始模型矩 陣的列的元素進行變換,然后對相應的行的元素進行變換,且在后的變換是在 在前變換的基礎上進行。
以下針對本發明的一個具體實施例進行詳細描述。
根據如上所述,在本發明的方案中,在根據第一預設變換方式或者第二預 設變換方式對初始模型矩陣進行變換時,是根據當前采樣點的位置坐標的小數 部分對初始模型矩陣進行變換,采樣點的位置坐標的小數部分對變換后所得到 的最終變換矩陣產生影響,因此,在較為理想的情況下,當采樣點的位置坐標 的小數點部分為0時,對最終變換矩陣的影響應當是最小的,甚至于是沒有影 響,即在采樣點的橫向位置坐標的小數部分為0、且縱向位置坐標的小數部分也 為0的情況下,經過第一預設變換方式變換或者第二預設變換方式變換后所得
到的第一變換矩陣或者第二變換矩陣最好能夠與初始^f莫型矩陣相同,為了滿足 這種特性,在本發明的該具體實施例中,將初始模型矩陣的最后一行與最后一
列的元素值設為O,且所建立的模型矩陣的大小為(筆寬+l) * (筆寬+l)
根據如上所述的特性,以預設筆寬為奇數值為例,可將初始模型矩陣設置
為<formula>formula see original document page 12</formula>
其中,k為大于或者等于1的整數。
出于對應用靈活性的考慮,在所選定的預設筆寬為偶數值的情況下,此時, 可將該預設筆寬加1后所得值作為本發明方案中所使用的預設筆寬。
在下述各描述中,以筆寬為3為例,即K=2、初始模型矩陣M為
<formula>formula see original document page 13</formula>為例進行說明
其中,用/ (/)表示第i行,用C①表示第i歹'J , M(0 = A0 + l)-i (/), AC(/) = C(/ + 1)_C(〖),且H0, 1, 2….。
假設當前采樣點的位置坐標為iU、,A),前 一 采樣點的位置坐標為 尸"U,則
^Hni卜Ay = |_y —乂—J; /^ = x —[x」,; _y = >> —
其中,Ax表示當前采樣點與前一采樣點在橫向坐標方向上的橫向坐標距離, Ay表示當前采樣點與前一采樣點在縱向坐標方向上的縱向坐標距離,[xj表示 ^的整數部分,戸表示當前采樣點的橫向位置坐標的小數部分,b」表示凡的 整數部分,w表示當前采樣點的縱向位置坐標的小數部分。
在建立了初始模型矩陣、并獲得曲線路徑上的當前采樣點的位置坐標后, 判斷當前采樣點與前一采樣點的橫向坐標方向上的距離是否大于或者等于在縱 向坐標方向上的縱向坐標^巨離,即是否Ax2Ay:
若Ax》Ay,則依次對初始模型矩陣進行變換,在i從0開始的情況下,則 依次為第0行、第0列、第1行、第1列…,在i從l開始的情況下,則從第1 行、第1列、第2行、第2列...,以下以i從0開始進行說明
針對第0行,T (O)的初始值為(all a12 a13 0),運用乂^式R(i)+=Py*AR(i), 即將R(i)+Py*AR(i)所得的值作為R(i)的變換值,變換后的尺(O)為
(all + py*(a21-all) al2 + py*(a22-a12) al3 + py*(a23-a13) 0);
針對第 0 列,經過上述變換后,C(O)的值變換為 (all + py*(a21-all) a21 a31 0)T, 運用公式<formula>formula see original document page 14</formula>變換后,將
<formula>formula see original document page 14</formula>所得的值作為C(0)的變換值,變換后的C(0)為
<formula>formula see original document page 14</formula>
在上述變換結果的基礎上,再依次對R(l)、 C(l)、 R(2)、 C(2)進行變換,且 后面的變換過程均是在前面的變換結果的基礎上進行;
當i二預設筆寬,即i=3時,到達矩陣的最后一行、最后一列,針對該R(3)、 C(3),由于作為計算deltaR(3)、 deltaC(3)基礎的R(4)、 C(4)并不存在,因此,用上述 公式對R(3)、 C(3)進行變換不再合適,在本具體實施例中,采用下述方式實現對 R(3)、 C(3)的變換
針對第3行,將原第3行減去上述變換后的第2行的元素值所得差值的絕 對值作為該第3行變換后的值,即<formula>formula see original document page 14</formula>;
針對第3列,將原第3列減去上述變換后的第2列的元素值所得差值的元 素值作為該第3列變換后的值,即C(3)=|C(3)-C(2)|;
經過上述變換過程后,得到第一預設變換后的矩陣值,即第一變換矩陣, 將第一變換矩陣作為最終變換矩陣,并用該最終變換矩陣填充當前采樣點;
若deltax < deltay :
針對第0列,C(O)的初始值為(all a21 a31 0)7 ,運用公式C(i)+=Px*deltaC(i), 即將C(i)+Px*deltaC(i)所得的值作為C(i)的變換值,變換后的C(0)為 (all + px*(al2-all) a21 +px*(a22-a21) a31 + px*(a32-a31) 0)T;
針對第 0 行,經過上述變換后,R(O)的值變換為 (all +px*(a12 —all) a12 a13 0),運用公式R(i)+=px*deltaR(i)變換后,將R(0)+Py*deltaR(0)
所得的值作為i (O)的變換值, 變換后的C(O) 為
<formula>formula see original document page 15</formula>
在上述已經變換的基礎上,再依次對C(l)、 Z (l)、 C(2)、 / (2)進行變換,且 后面的變換過程均是在前面的變換結果的基礎上進行;
當i-預設筆寬,即1=3時,到達矩陣的最后一列、最后一行,針對該C(3)、 / (3),由于作為計算AC(3)、 A^(3)基礎的C(4)、 i (4)并不存在,因此,用上述 公式對C(3)、 i (3)進行變換不再合適,在本具體實施例中,采用下述方式實現對 C(3)、 / (3)的變換
針對第3列,將原第3列減去上述變換后的第2列的元素值所得差值的元 素值作為該第3列變換后的值,即C(3)叫C(3)-C(2)I;
針對第3行,將原第3行減去上述變換后的第2行的元素值所得差值的絕 對值作為該第3行變換后的值,即R(3)=|R(3)-R(2)|;
經過上述變換過程后,得到第二預設變換后的矩陣值,即第二變換矩陣, 將第二變換矩陣作為最終變換矩陣,并用該最終變換矩陣填充當前采樣點;
其中,在用上述最終變換矩陣填充當前采樣點時,根據如上所述,該矩陣 為4*4的矩陣,從而可能導致該矩陣與當前采樣點的對齊點無法確定,考慮到 采樣點的位置坐標的小數部分為0時,經變換后所得矩陣的最后一行、最后一 列的元素值均為O,因此,可將去除掉最后一行、最后一列后所剩矩陣的中心值 作為該最終變換矩陣的中心值,并將該中心值與采樣點對齊后,將該模型進行 覆蓋,實現填充過程。
此外,在用最終變換矩陣填充當前采樣點時,考慮到筆跡書寫的美觀性, 應當使書寫的畫筆呈現從中心向兩側呈現漸變的書寫效果,即使得所書寫出來 的筆跡的中心的顏色最深,而畫筆兩側的顏色最淺,因此,作為一種最佳方式,
在設置初始模型矩陣時
如果初始模型矩陣中的元素值代表的是透明度值,由于透明度值越大,不
透明的程度越高,因此可使矩陣的中心值最大,從中心值向外擴展,距離越大
元素值越小,另外,為了呈現均勻的書寫筆跡,應當使中心值兩側的元素值呈
現相同的擴展方式,即與中心值距離相同的元素的值相同,即,針對初始模型 ,"11 fll2 "13 0、
使all=al3=a31=a33 , al2=a21=a23=a32 , 且
矩陣
a21 fl22 a23 0 o31 a3233 0 0 0 0 0
而X
a22>al2>all;
如果初始模型矩陣中的元素值代表的是灰度值,由于灰度值越小,所代表
的顏色越深,因此可使矩陣的中心值最小,從中心值向外擴展,距離越大元素
值越大,另外,為了呈現均勻的書寫筆跡,應當使中心值兩側的元素值呈現相
同的擴展方式,即與中心值距離相同的元素的值相同,即,針對初始模型矩陣 Gll "12 "13 0、
而言,4吏alI=al3=a3l=a33, al2=a2I=a23=a32,且a22〈al2〈al 1;
a21 a22 a23 0 a31 Af32 a33 0 0 0 0 0
針對采用其他的預設筆寬的初始模型矩陣,或者初始模型矩陣中的元素代 表的是其他參數值時,可據此類推,在此不予贅述。
此外,由于填充采樣點的矩陣特性,在用矩陣對采樣點進行填充時,如果 采樣點之間的距離過大,可能會使書寫出來的筆跡會出現連續性不強的效果, 為了使書寫筆跡呈現更好的連續性,在獲取采樣點時,可以是針對每個像素點 進行采樣,即針對每個像素點均執行上述的模型變換及填充步驟,此時,上述 描述中所涉及的采樣點均為像素點,此時,上述描述中所涉及的曲線路徑可以 是已經形成連接曲線的曲線路徑。
針對上述本發明的筆跡的書寫方法,本發明還提供一種筆跡的書寫裝置, 參見圖2所示,是本發明的筆跡的書寫裝置的結果示意圖,其包括
初始模型矩陣設置模塊201,用于根據預設筆寬建立初始模型矩陣;
采樣點獲取模塊202,用于獲取曲線路徑上的采樣點的位置坐標;
與采樣點獲取^f莫塊202相連接的判別模塊203,用于判斷當前采樣點與前一 采樣點在橫向坐標方向上的橫向坐標距離是否大于或者等于在縱向坐標方向上 的縱向坐標距離;
與初始模型矩陣設置模塊201、采樣點獲取模塊202、判別模塊203相連接 的第一變換模塊204,用于當判別模塊203的判斷結果為是時,根據所述當前采 樣點的橫向位置坐標的小數部分、所述當前采樣點的縱向位置坐標的小數部分, 自初始行、初始列開始,依次對所述初始模型矩陣的行元素值、列元素值進行 變換得到第一變換矩陣;
與初始模型矩陣設置模塊201、采樣點獲取模塊202、判別模塊203相連接 的第二變換模塊205,用于當判別模塊203的判斷結果為否時,根據所述當前采 樣點的橫向位置坐標的小數部分、所述當前采樣點的縱向位置坐標的小數部分, 自初始列、初始行開始,依次對所述初始模型矩陣的列元素值、行元素值進行 變換得到第二變換矩陣;
與判別模塊203、第一變換模塊204、第二變換模塊205相連接的最終變換 矩陣確定模塊206 ,用于當判別模塊203的判斷結果為是時,將第一變換模塊 204所確定的第一變換矩陣作為最終變換矩陣,當判別模塊203的判斷結杲為否 時,將第二變換模塊205所確定的第二變換矩陣作為最終變換矩陣;
與最終變換矩陣確定模塊206相連接的填充模塊207,用于繪制最終變換矩 陣確定模塊206所確定的最終變換矩陣,并用該最終變換矩陣填充當前采樣點。
根據上述本發明的裝置,其通過對當前采樣點與前一采樣點在橫向坐標方 向上的橫向坐標距離與在縱向坐標方向上的縱向坐標距離的比較,并根據比較 結果選用相應的預設方式對初始模型矩陣進行變換,在變換時,是根據當前采 樣點的橫向位置坐標的小數部分、縱向位置坐標的小數部分等進行變換,并用 變換后的最終變換矩陣填充采樣點,由于是采用小數部分對初始模型矩陣進行 變換,小數部分具有較高的精度,且是用變換后的最終變換矩陣填充當前采樣點,實現筒單,效率高,在各采樣點相對比較密集的情況下,利用各采樣點的 最終變換矩陣進行填充后可以達到很好的平滑性效果。
在本發明的裝置中,依次對初始模型矩陣的行元素值、列元素值進行變換 得到第一變換矩陣、依次對初始模型矩陣的列元素值、行元素值進行變換得到 第二變換矩陣的具體變換方式可如上述方法實施例中所述,在此不予贅迷。
其中,在用最終變換矩陣填充當前采樣點時,根據如上所述,由于最終變 換矩陣為偶數矩陣,從而導致該矩陣與當前采樣點的對齊點無法確定,考慮到 采樣點的位置坐標的小數部分為0時,經變換后所得矩陣的最后一行、最后一
列的元素值均為o,因此,可將去除掉最后一行、最后一列后所剩矩陣的中心值
作為該最終變換矩陣的中心值,并將該中心值與采樣點對齊后,將該模型進行 覆蓋,實現填充過程。
此外,在用最終變換矩陣填充當前采樣點時,考慮到筆跡書寫的美觀性, 應當使書寫的畫筆呈現從中心向兩側呈現漸變的書寫效果,即使得所書寫出來 的筆跡的中心的顏色最深,而畫筆兩側的顏色最淺,因此,作為一種最佳的實
施方式,初始模型矩陣設置模塊301在設置初始模型矩陣時
如果初始模型矩陣中的元素值代表的是透明度值,由于透明度值越大,不
透明的程度越高,因此可使矩陣的中心值最大,從中心值向外擴展,距離越大元素值越小,另外,為了呈現均勻的書寫筆跡,應當使中心值兩側的元素值呈
現相同的擴展方式,即與中心值距離相同的元素的值相同,即,針對初始模型 all a12 a13 0、
而言,使all=al3=a31=a33 , al2=a21=a23=a32 , 且
矩陣
a21 a22 a23 0 a31 a32 a33 0 0 0 0 0
a22>al2>all;
如果初始模型矩陣中的元素值代表的是灰度值,由于灰度值越小,所代表 的顏色越深,因此可使矩陣的中心值最小,從中心值向外擴展,距離越大元素 值越大,另外,為了呈現均勻的書寫筆跡,應當使中心值兩側的元素值呈現相 同的擴展方式,即與中心值距離相同的元素的值相同,即,針對初始模型矩陣
all a12 a13 0、
<formula>formula see original document page 19</formula>而言,使al I=al3=a3 l=a33, al2=a21=a23=a32,且a22<al2<al 1;
針對采用其他的預設筆寬的初始模型矩陣,或者初始模型矩陣中的元素代 表的是其他參數值時,可據此類推,在此不予贅述。
此外,由于填充采樣點的矩陣特性,在用矩陣對采樣點進行填克時,如果 采樣點之間的距離過大,可能會使書寫出來的筆跡會出現連續性不強的效果, 為了使書寫筆跡呈現更好的連續性,在獲取釆樣點時,可以是針對每個像素點 進行采樣,即針對每個像素點均執行上述的模型變換及填充步驟,此時,上述 描述中所涉及的采樣點均為像素點,此時,上述描述中所涉及的曲線路徑可以 是已經形成連接曲線的曲線路徑。
以上所述的本發明實施方式,并不構成對本發明保護范圍的限定。任何在 本發明的精神和原則之內所作的修改、等同替換和改進等,均應包含在本發明 的權利要求保護范圍之內。
權利要求
1、一種筆跡的書寫方法,其特征在于,包括步驟:根據預設筆寬建立始模型矩陣;獲取曲線路徑上的采樣點的位置坐標;判斷當前采樣點與前一采樣點在橫向坐標方向上的橫向坐標距離是否大于或者等于在縱向坐標方向上的縱向坐標距離;若是,根據所述當前采樣點的橫向位置坐標的小數部分、所述當前采樣點的縱向位置坐標的小數部分,自初始行、初始列開始,依次對所述初始模型矩陣的行元素值、列元素值進行變換得到第一變換矩陣,并將該第一變換矩陣作為最終變換矩陣;若否,根據所述當前采樣點的橫向位置坐標的小數部分、所述當前采樣點的縱向位置坐標的小數部分,自初始列、初始行開始,依次對所述初始模型矩陣的列元素值、行元素值進行變換得到第二變換矩陣,并將該第二變換矩陣作為最終變換矩陣;繪制所述最終變換矩陣,并用該最終變換矩陣填充所述當前采樣點。
2、 根據權利要求1所述的筆跡的書寫方法,其特征在于,所述依次對所述 初始模型矩陣的行元素值、列元素值進行變換得到第一變換矩陣具體包括自所述初始行開始,計算下一行減去當前行的差值,將該差值與所述縱向 位置坐標的小數部分相乘,并將乘積結果與該當前行求和后所得的和值作為該 當前^f亍的變換J直;計算下一列減去當前列的差值,將該差值與所述橫向位置坐標的小數部分 相乘,并將乘積結果與該當前列求和后所得的和值作為該當前列的變換值;以及計算最后一行減去倒數第二行的差值的絕對值,并將該絕對值作為該最后 一4亍的變換值;計算最后一列減去倒數第二列的差值的絕對值,并將該絕對值作為該最后 一列的變換值。
3、 根據權利要求1所述的筆跡的書寫方法,其特征在于,所述依次對所述 初始模型矩陣的列元素值、行元素值進行變換得到第二變換矩陣具體包括自所述初始列開始,計算下一列減去當前列的差值,將該差值與所述橫向 位置坐標的小數部分相乘,并將乘積結果與該當前列求和后所得的和值作為該 當前列的變換值;計算下一行減去當前行的差值,將該差值與所述縱向位置坐標的小數部分 相乘,并將乘積結果與當前行求和后所得的和值作為該當前行的變換值;以及計算最后一列減去倒數第二列的差值的絕對值,并將該絕對值作為該最后 一列的變換值;計算最后一行減去倒數第二行的差值的絕對值,并將該絕對值作為該最后 一行的變換值。
4、 根據權利要求1或2或3所述的筆跡的書寫方法,其特征在于在所述 初始模型矩陣中,最后一行、最后一列的元素值為0。
5、 根據權利要求1或2或3所述的筆跡的書寫方法,其特征在于在所述 初始模型矩陣中,除去最后一行、最后一列的部分為對稱矩陣。
6、 根據權利要求5所述的筆跡的書寫方法,其特征在于當所述初始模型矩陣中的元素代表透明度值時,在所述對稱矩陣中,位于 所述對稱矩陣中心的元素值最大,距離所述對稱矩陣的中心最遠的元素值最小;當所述初始模型矩陣中的元素代表灰度值時,在所述對稱矩陣中,位于所 述對稱矩陣中心的元素值最小,距離所述對稱矩陣的中心最遠的元素值最大。
7、 根據權利要求1或2或3所述的筆跡的書寫方法,其特征在于 所述預設筆寬為奇數值; 和/或當所述預設筆寬為偶數值時,將該預設筆寬加1后所得值作為所述預設筆寬。
8、 根據權利要求1或2或3所述的筆跡的書寫方法,其特征在于所述采 樣點為像素點。
9、 一種筆跡的書寫裝置,其特征在于,包括-.初始模型矩陣設置模塊,用于根據預設筆寬建立初始模型矩陣;采樣點獲取模塊,用于獲取曲線路徑上的采樣點的位置坐標;與所述采樣點獲取模塊相連接的判別模塊,用于判斷當前采樣點與前一采 樣點在橫向坐標方向上的橫向坐標距離是否大于或者等于在縱向坐標方向上的 縱向坐標距離;與所述初始模型矩陣設置模塊、所述采樣點獲取模塊、所述判別模塊相連 接的第一變換模塊,用于當所述判別模塊的判斷結果為是時,根據所述當前采 樣點的橫向位置坐標的小數部分、所述當前采樣點的縱向位置坐標的小數部分, 自初始行、初始列開始,依次對所述初始模型矩陣的行元素值、列元素值進行 變換得到第一變換矩陣;與所述初始模型矩陣設置模塊、所述采樣點獲取模塊、所述判別模塊相連 接的第二變換模塊,用于當所述判別模塊的判斷結果為否時,根據所述當前采 樣點的橫向位置坐標的小數部分、所述當前采樣點的縱向位置坐標的小數部分, 自初始列、初始行開始,依次對所述初始模型矩陣的列元素值、行元素值進行 變換得到第二變換矩陣;與所述判別模塊、所述第一變換模塊、所述第二變換模塊相連接的最終變 換矩陣確定模塊,用于當所述判別模塊的判斷結果為是時,將所述第一變換矩 陣作為最終變換矩陣,當所述判別模塊的判斷結果為否時,將所述第二變換矩 陣作為最終變換矩陣; 與所述最終變換矩陣確定模塊相連接的填充模塊,用于繪制所述最終變換 矩陣確定模塊所確定的最終變換矩陣,并用該最終變換矩陣填充所述當前采樣 點。
10、根據權利要求9所述的筆跡的書寫裝置,其特征在于所述采樣點為 像素點。
全文摘要
一種筆跡的書寫方法及書寫裝置,其通過對當前采樣點與前一采樣點在橫向坐標方向上的橫向坐標距離與在縱向坐標方向上的縱向坐標距離的比較,并根據比較結果選用相應的預設方式對初始模型矩陣進行變換,在變換時,是根據當前采樣點的橫向位置坐標的小數部分、縱向位置坐標的小數部分、根據預設筆寬所確定的初始模型矩陣等進行變換,并用變換后的最終變換矩陣填充采樣點,由于是采用小數部分對初始模型矩陣進行變換,小數部分具有較高的精度,且是用變換后的最終變換矩陣填充當前采樣點,實現簡單,效率高,在各采樣點相對比較密集的情況下,利用各采樣點的最終變換矩陣分別對各采樣點進行填充后可以達到很好的平滑性效果。
文檔編號G06T11/80GK101383050SQ200810199139
公開日2009年3月11日 申請日期2008年10月14日 優先權日2008年10月14日
發明者徐蜀中, 李俊文, 胡粵川, 陳先志 申請人:廣東威創視訊科技股份有限公司