新四季網

基於壓感筆等裝置的三維毛筆模型與仿真方法

2023-10-08 10:01:39 2

專利名稱:基於壓感筆等裝置的三維毛筆模型與仿真方法
技術領域:
本發明涉及一種計算機模擬仿真技術,特別是模擬3維毛筆的仿真方法,通過綜合運用三維建模及動畫等計算機圖形學技術,以壓力感應筆和數位板,以及計算機鍵盤、滑鼠作為主要輸入裝置,對虛擬毛筆模型進行動態控制,在計算機屏幕上模擬出真實毛筆的各種運動變形。
背景技術:
隨著計算機圖形學技術的飛速發展,中國水墨畫和書法等東方藝術的計算機仿真在非真實感渲染領域異軍突起,日趨成為眾人關注的研究焦點。傳統水墨畫和書法並不容易上手。而電腦作畫不僅避免了上述問題還可以撤消不滿意的筆觸,保存創作一半的作品,以便下次繼續完成,或是以其為基礎,創作出幾張風格各異的作品。這些功能都使創作更加有效、方便。毛筆,列為「文房四寶」之首,中國水墨畫和書法正是依靠了毛筆運動的靈活多變和水墨的豐富性,在紙面上形成有藝術意味的黑白構成。因此,在東方藝術的計算機仿真中,對毛筆進行仿真模擬是至關重要的,在工藝包裝設計、廣告設計、形象識別設計、書籍裝幀集文字設計以及影視製作甚至古代珍貴水墨畫的保護性修復研究和臨摹複製等方面有較高的實際應用價值。
目前已經存在很多對硬筆的仿真方法。因為硬筆沒有複雜的形態變化,所以更容易被計算機模擬。但是仿真3維毛筆的技術還很少,其中一種技術是利用能量最小化方法對毛筆的動態變化行為建模,但這種方法無法模擬程度較大的筆刷形變,而且不夠穩定;另一種技術建立了單根筆毛的模型,將多根筆毛聚合成筆刷,並且利用設置毛筆運動參數和添加慣性量的方法進行仿真,但這種方法模擬出的毛筆外形不美觀,且運算量會隨筆毛數量的增加而成倍增長,不能保證產生實時的仿真效果。

發明內容本發明的目的是解決現有毛筆仿真技術較少和已有技術存在計算速度慢、模擬的變化種類少,交互性差,以及不易上手等問題,提供一種基於壓感筆等裝置的三維毛筆模型與仿真方法,通過建立三維虛擬毛筆模型,使用戶結合數位板與壓感筆,或者計算機鍵盤和滑鼠等裝置實現對虛擬模型連續有效的動態控制,從而模擬出真實毛筆的各種運動及變形並在計算機屏幕上直觀的顯示出來,用戶可以在計算機上自然、直觀地操控一支三維虛擬毛筆進行藝術創作。
本發明提供的基於壓力感應筆和數位板的三維毛筆模型主要指筆刷幾何模型,包括骨架和表面兩個部分,骨架由脊骨和輔助面組成,脊骨又細分為主脊骨和分叉脊骨,主脊骨位於骨架的中軸線上,表現彎曲、扭轉重要形變,分叉脊骨與主脊骨的結構相同,表現筆尖分叉行為;在脊骨上分布有n個節點——模型中稱之為關鍵節點,相鄰關鍵節點間的距離是一個等差數列,公差d=l·λ/(n2-n),其中l是筆刷長度,λ是調整因子;輔助面即以這些關鍵節點為中心,表現毛筆承受壓力時的外表面擠壓形變,輔助面與中軸線垂直,輔助面上有m/2條過其中心的軸線,相鄰軸線夾角相等,這些軸線的端點在模型中稱為輔助節點,即幾何模型有m個輔助節點;筆刷模型用拋物線模擬輔助面初始半徑的變化,某一輔助面的初始半徑r=a·s2+b·s+c,其中s是該輔助面中心的關鍵節點與根部關鍵節點之間的長度,拋物線係數a,b,c由三點確定,分別是根部輔助面,半徑最大處的輔助面,和筆尖處輔助面在脊骨同一側,且位於同一平面內的輔助節點的坐標值;模型骨架上添加表面,完成筆刷幾何模型建立並顯示。
一種基於上述三維毛筆模型的毛筆仿真方法,該仿真方法由動態控制模塊與分叉控制模塊對三維毛筆模型進行實時檢測控制,整體的控制流程如圖4所示,其中第一、動態控制模塊形變控制曲線——空間形變的確定根據數位板和壓力感應筆檢測到的參數壓感筆筆頭的水平面x、z坐標,壓力大小p,筆桿與水平面XZ的夾角α及筆桿在紙平面亦即水平面的投影與Z軸夾角β,唯一確定毛筆當前的空間位置。模塊可將p通過公式y=(1-p/1024)*l(l-系統設定的脊骨長度)轉換為y坐標,然後將(x,y,z)作為筆刷根部關鍵節點(即筆刷與筆桿連接處)的空間位置;動態控制模塊綜合分析從輸入裝置實時獲得的方位信息,確定毛筆新的方位和形變。它的基本思想是求解虛擬毛筆的形變控制曲線,從而調整毛筆幾何模型以改變其形態。兩組勢能-閾值對控制彈性變化到塑性變化的轉變,以及約束毛筆彎曲和扭轉的最大程度。
從圖5可以看出,模塊首先將毛筆的筆刷投影到豎直面和水平面上,分別求解筆刷在這兩個平面上的形變控制曲線,依據幾何約束建立控制曲線的方程組●筆刷的長度是固定的,即控制曲線的曲線段長度恆定●通過數位板傳入的參數,可以確定筆刷上一點的位置,即控制曲線必過該點●通過數位板傳入的參數,可以確定毛筆的傾斜角度α,即控制曲線的一端點(作為筆刷根部的關鍵節點)處的導數可確定。
●筆尖落在紙面上,即控制曲線的另一端點(作為筆刷尖部的關鍵節點)的Y坐標與紙面相等。
即在豎直面內,幾何約束可以抽象表示為●拋物線過P0點●拋物線過P1點●拋物線上過P1點的切線與X軸正向的夾角等於α●拋物線在P0點與P1點間的弧長等於s可列求控制曲線待定係數方程組如下x0=avy02+bvy0+cvx1=avy12+bvy1+cvx|y=y1=2avy+bvy0y1ds=sx0=avy02+bvy0+cvx1=avy12+bvy1+cvtan(/2-)=2avy+bvy0y11+(2avy+bv)2dy=s]]>x1,y0-P0點坐標x1,y1-P1點坐標α-過P1點的切線與X軸正向的夾角s-P0點到P1點的曲線弧長 av,bv,cv-拋物線線方程的待定係數在水平面內,幾何約束可以抽象表示為●拋物線過P0′點●拋物線過P1′點●拋物線上過P1′點的切線與X軸正向的夾角等於α′●拋物線在P0′點與P1′點間的弧長等於s對於水平面,可列求控制曲線待定係數程組如下tan=2ahx1+bhz1=ahx12+bhx1+chz0=ah(x0)2+bhx0+chx0x1ds=sptan=2ahx1+bh0=ahx12+bhx1+chz0=ah(x0)2+bhx0+chx0x11+(2ahx+bh)2dx=sp]]>x0′,z0-P0′點坐標x1,z1-P1′點坐標α′-過P1′點的切線與X軸正向的夾角sp-P0′點到P1′點的曲線弧長 ah,bh,ch-拋物線線方程的待定係數模型對於z0的確定基於如下理論,因為脊骨的初始投影是一條與X軸重合的線段,z0是扭轉後脊骨投影尖部點在Z軸上的偏移值,若狀態參數x,z,β都有改變,模型依據如下步驟求z0a)狀態參數β不變,x,z改變可以用投影根部點到的前一時刻的脊骨投影過當時投影根部點的切線的距離來表示。
過前一時刻的投影根部點(x1′,z1′),且與Z軸正向的夾角等於當時的狀態參數β′的切線的直線方程是x-x1z-z1=tantan-z-x+(x1-tanz1)=0,]]>設A=tanβ′,B=-1,C=x1′-tanβ′·z1′,則當前時刻投影根部點P1′(x1,z1)到直線的距離dz0為
b)狀態參數β改變dz0=dz0-sp·sin(βcurr-βprev)其中 c)為了保證扭轉變化的穩定性和連續性,模型確定z0的值是一個積累變化的動態過程,即z0=z0+dz0使用迭代求根法可以解出上述兩個求解曲線待定係數的方程組,從而得到豎直面和水平面內的兩條形變控制曲線,解出控制曲線後,通過它們求解各個關鍵節點在豎直面和水平面內的坐標,並將這兩組坐標加以組合,就可以將兩條控制曲線合成為筆刷的空間形變,其步驟為a)豎直面(XOY面)內得到的曲線方程x=av·y2+bv·y+cvb)水平面(XOZ面)內得到的曲線方程z=ah·x2+bh·x+chc)對於每一個關鍵節點P,設豎直面內該點到曲線段端點的弧長為ps,它在水平面上的對應長度psp,二者之間的關係近似為pspsp=ssppsp=psssp]]> d)設P點待定3維坐標為(x,y,z),在兩個平面內的對應點的平面坐標分別為豎直面內Pv(xv,yv),水平面內Ph(xh,yh),這兩組坐標分別由以下兩個方程組求得xv=avyv2+bvyv+cvyvy1ds=ps(xv,yv)]]>zh=ahxh2+bhxh+chxhx1ds=psp(xh,zh)]]>
這裡是將關節節點的待求平面坐標分別代入豎直面和水平面內的兩條形變控制曲線,所以方程組中的av,bv,cv以及ah,bh,ch是形變控制曲線的係數。
e)(xh,yv,zh)即為關鍵節點P的3維坐標值;勢能-閾值對——彎曲恢復程度、扭轉程度的確定模塊對它們採用近似計算方式分別過控制曲線的兩端點作該曲線的切線,這兩條切線的夾角與調整因子的乘積即是當前時刻的勢能。而閾值是由經驗公式確定的。
勢能-閾值對在豎直面和水平面內的計算方法和比較過程是設k-勢能調整係數,rid-硬度,wet-溼度,p-壓力在豎直面內勢能Ev=k·(Δθv)2,閾值Tv=vridpwet,]]>其中 若Ev≤Tv則彎曲可以完全恢復;若Ev>Tv則彎曲部分恢復後有殘餘形變,殘餘勢能ΔE=Ev-Tv,脊骨僅能恢復到Ev=ΔE時的狀態。
在水平面內勢能Eh=k·(Δθh)2,閾值Th=δh·p·wet·μ,其中, 若Eh≤Th則筆尖點未能擺脫摩擦力束縛,位置不變,扭轉程度增大;若Eh>Th則恢復到Eh=Th,扭轉程度達到最大。
筆刷受壓形變——骨架中的一個輔助面即是筆刷的一個橫截面,輔助面初始時類似於圓面,當筆刷與紙面接觸並且受到下壓力時,隨著壓力或者筆桿與紙面夾角的增大,它的各軸長度在垂直方向上減小,在水平方向上增大,從而變化為一個類橢圓面,但面積大小不變,依據輔助面面積守恆原理,首先找到一個到彎曲脊骨曲率最大處的距離最小的關鍵節點,確定以該節點為中心的輔助面的受擠壓形變程度(即變為橢圓面後,橢圓面的長短軸大小),然後在該處形變的基礎上求解一條表面形變控制曲線,該曲線確定其它輔助面的受擠壓形變程度,所有的這些變化的集合就可以反映出筆刷的表面形變,步驟如下a)對一個特定時刻的彎曲脊骨確定其曲率最大處的關鍵節點——即檢查以關鍵節點為中心的輔助面上是否有低於紙面的輔助節點,從脊骨根部點起向尖部點依次遍歷,第一個滿足這種情況的關鍵節點即作為曲率最大處的關鍵節點;b)計算以此關鍵節點為中心的輔助面的最短軸(即輔助面變形為橢圓面後,該橢圓面的短軸)距離——最短軸距離由該輔助面初始半徑R與擠壓比率f的乘積確定,即Rmin=R×f,擠壓比率f與壓力成正比,與脊骨長度成反比,與筆桿與紙面夾角成正比,公式為λ-調整因子(默認為0.24)a-筆桿與紙面夾角f=1-λ·ap/l,其中l-筆刷長度p-壓力c)由脊骨尖部輔助面,最大曲率處輔助面和脊骨根部輔助面上的最長軸(即輔助面變形為橢圓面後,該橢圓面的長軸)在脊骨同一側的輔助節點,確定一條水平面曲線方程z=ax2+bx+c;之所以只求水平面的控制曲線,是因為各輔助面上最長軸的端點與輔助面的中心同高,即其輔助節點的y值與對應脊骨上的關鍵節點相等,所以在豎直面上可以保證輪廓線的平滑,我們只需關心輪廓線在水平面上投影的平滑即可,既然最大曲率處輔助面已通過擠壓程度控制公式進行了調整,那麼這條根據已調整的輔助面上的節點得到的曲線就可以用來調整其它輔助面;例如三個輔助面的最長軸在脊骨同一側的端點依次為P1(x1,y1,z1),P2(x2,y2,z2),P3(x3,y3,z3),三點在水平面的投影可以確定這樣一條用於控制其它未調整輔助面的最長軸長度的拋物線z1=ax12+bx1+cz2=ax22+bx2+ca,b,cz3=ax32+bx3+c]]>d)各輔助面最長軸所在直線的水平面投影與控制曲線有一個交點,該點到中心在水平面上的投影的距離即是其新的最長軸半徑Rmax;依據面積守恆原理,受擠壓時橢圓面的面積等於初始時圓面的面積,受擠壓輔助面的橢圓的最短軸半徑Rmin=R2/Rmax;e)根據新的最短軸半徑調整各個輔助節點的3維空間坐標;第二、分叉控制模塊依據輸入的信息,判斷是否應產生分叉,計算脊骨上開始產生分叉的關鍵節點位置,和分叉部分與主體部分之間的初始間隔,最後將對分叉部分的控制傳遞給動態控制模塊;當毛筆承受的壓力、傾斜角度和溼度的綜合值c=λ*p*α/w(c-綜合值、λ-調整因子、p-當前壓力值、α-毛筆與XOZ面夾角、w-筆刷溼度)超過模塊設定限定值t後,即產生分叉,這裡的限定值t是系統的預設值,通過實驗確定,只有當c>t時才會出現分叉效果。同時調整因子變為其原值的q倍(0<q<1可由用戶設定),以保證只有當壓力再次超過某一定值後才會產生新的分叉,而不是陷入不斷分叉的死循環中;開始產生分叉的關鍵節點由公式 (n-關鍵節點數,t-分叉限定值)確定;分叉脊骨與主脊骨的初始間隔大小與毛筆所受壓力,以及持筆角度成比例關係,但在這一範圍內又具有一定的隨機性,公式為initGap=σ*p*α(initGap-初始分叉間隔;σ-隨機因子,可由各種程式語言內含的隨機數生成函數生成);分叉模型在對分叉脊骨結構的各部分設定初始值時依據以下幾點●各條脊骨在分叉起始點處的輔助面是完全重合的,分叉脊骨的輔助面初始值應與主脊骨的對應面相同,這樣才能添加表面以後,產生一個順滑的外觀,因為分叉後的筆刷的兩條邊線仍然是曲線,否則分叉出的脊骨會很像突刺出筆刷輪廓面一樣。
●分叉脊骨在XOY平面控制曲線的各係數由主脊骨傳遞,這既是與實際情況相符的,也考慮到了給骨架添加外表面時的需要,因為分叉脊骨和主脊骨在豎直面的彎曲從與XOY面垂直的方向看去應是基本重合的,分叉後的筆刷在運動變化時依然是一個整體,具有很大程度的一致性。
分叉脊骨與主脊骨之間的偏移量主要體現在每一時刻變化開始時二者的尖端點在Z軸向的距離,這是一個動態變化的值,設定其公式為Gap=λ*p*α+initG其中Gap-分叉脊骨與主脊骨偏移量λ-調整因子p-毛筆所受下壓力α-筆桿與紙面夾角w-筆刷當前溼度initGap-初始偏移量分叉控制模塊在初始化分叉脊骨後,把對分叉脊骨運動變化的控制交給動態控制模塊,動態控制模塊把主脊骨在豎直面和水平面上控制曲線的參數傳遞給分叉脊骨,分叉脊骨根據這些參數●從主脊骨複製得到它自身在豎直面上的控制曲線,●分叉脊骨尖部點的z0坐標由主脊骨尖部點的z0坐標加上偏移量得到,由此確定它在水平面上的控制曲線;以上計算結束後,動態控制模塊對分叉脊骨的控制就與主脊骨相同了;上述過程反覆進行,即可對虛擬毛筆模型進行動態控制,在計算機屏幕上模擬出真實毛筆的運動變形並最終顯示毛筆的筆跡。
本發明的優點和積極效果1、毛筆模型的外形美觀和逼真,本發明提出的毛筆筆刷幾何模型對真實毛筆進行了適當的抽象和簡化,生成了一個與真實毛筆非常接近的三維虛擬毛筆,該虛擬毛筆具有順滑的外觀,而且具有很高的靈活性,能夠產生豐富的形變。2、更好的交互性,由於本發明構建了一個基於壓感筆等裝置的三維交互界面,用戶在創作時動態控制屏幕上的3D虛擬毛筆,可以更加自然和直觀地進行藝術創作。3、毛筆模型更容易使用,友好的交互界面使得用戶能夠在較短的時間內掌握使用方法,熟練地繪製和書寫。4、繪製效果更逼真,由於繪製出的筆跡是依據3D虛擬毛筆的形變實時產生的,可以產生變化更加豐富,更接近真實的筆道效果。5、更高的實時性,本發明中,模型採用的算法在保證效果逼真的前提下,進行了很多優化,降低了計算量,使得該仿真方法與同類技術相比更加實用。本發明保證了動態控制的實時性,即從發生用戶輸入到3D毛筆產生相應的正確變化之間的時間間隔在一個用戶可接受的範圍內,並在毛筆模型的複雜性和實時性之間找到一個平衡點,既能逼真地模擬毛筆的外部形態和動態變化,又能滿足實時性要求。6、該仿真技術可以融合到各種繪圖軟體中,為中國畫、書法的創作提供更加直觀的交互界面,而且可以作為水墨仿真的基礎,提供毛筆落在紙面上的筆跡,最終繪製出具有水墨效果的筆道。

圖1是壓感筆坐標系及角度檢測示意圖;圖2是筆刷模型中骨架示意圖;圖3是筆刷模型表面示意圖;圖4是仿真方法控制流程圖;圖5是控制曲線的求解與合成過程示意圖;圖6是垂直於紙面方向觀察到的分叉後的骨架示意圖;圖7是壓筆與提筆過程示意圖;圖8是運筆過程示意圖;圖9是筆刷受擠壓後的形變過程示意圖;圖10是分叉控制模塊處理後的3D虛擬毛筆的筆刷示意圖;圖11是分叉筆刷的運筆過程示意圖;圖12是繪製出的具有水墨效果的筆道示意圖。
具體實施方式實施例1下面通過一個實例來說明本發明的工作方式本發明採用的輸入裝置是Intuos2數位板和壓力感應筆,整體的控制流程如圖4所示。
假設用戶選擇了系統提供的一支軟豪毛筆,該筆各項參數值如下筆刷長度l=10.0,關鍵節點數n=20,輔助節點數m=8,根部輔助面半徑Rroot=1.3,輔助面最大半徑Rmax=1.5,筆毛硬度rid=0.2,和筆刷溼度wet=0.4,紙面與XOZ面重合,即紙面高度為0.0。該組參數值生成如圖2所示的骨架,添加表面後形成如圖3所示的筆刷,其中1脊骨,2關鍵節點,3輔助節點,4輔助面,5表面。
參見圖1,用戶開始繪製後,假設在某一時刻,系統從壓感筆裝置獲得的毛筆信息為x=5.0,z=1.0,壓力p=535,轉換為y=(1-p/1024)*l=4.8。系統設定該組坐標對為筆刷根部關鍵節點的空間位置,在其後的計算中令p=y=4.8並代入公式。
此外獲得的信息還有,筆刷與紙面(XOZ面)的夾角α=56°,筆刷在XOZ面的投影與Z軸夾角β=45°。同時,系統還保留有前一採樣時刻的毛筆信息,假設其為x』=4.8,y=5.4,z=0.01,α=56°,β=40°。
系統依據該組信息求筆刷的豎直面控制曲線x0=c5.0=4.82a+4.8b+ctan(/2-56/180)=9.6a+b0.04.81+(9.6a+b)2dy=10.0a=-0.233732b=2.91833c=-3.62282x0=-3.62177]]>由此可以得到豎直面內的控制曲線x=-0.233732y2+2.91833y-3.62282,並且可以確定當前情況下的筆尖點的豎直面坐標(-3.62177,0.0)。
求筆刷的水平面控制曲線先保持狀態參數β不變dz0=-Az1+Bx1+CA2+B2=0.84*0.01-1*5.0+4.1280.842+1=0.661]]>再考慮狀態參數β改變帶來的影響dz0=dz0-sp·sin(βcurr-βprev)=0.661-8.62282*sin(45°-40°)=-0.09z0=1.0-0.09=0.01,這裡的1.0是假設筆刷從運動起始時刻起到當前時刻積累下的Z軸方向偏移量,該偏移量初始為0。解方程組0=10a+b0=25a+5b+c0.01=a(x0)2+bx0+cx06.01+(10.0a+b)2dx=x0-x=8.62282a=0.000134493b=-0.00134493c=0.00336233x0=-3.62280]]>由此可以得到水平面內的控制曲線z=0.000134493y2-0.00134493y-3.62280,並且可以確定當前情況下的筆尖點的水平面坐標(-3.62280,0.00999993)。
系統在求解方程組時使用的割線迭代法是一種較常用的求根算法,可以在很多有關數值方法的著述中查到相關資料。
接下來由這兩條控制曲線合成各個關鍵節點的空間位置,參見圖5。其中6合成空間形變,7添加表面。筆尖處關鍵節點序號為n-1,向根部關鍵節點處遞減,直到根部關鍵點的序號0。其間的任一關鍵節點i,在它到筆尖點間的脊骨長為ps=in-1(n-1-i)*minus,psp=psssp=8.62282*ps/10.0,]]>由此分別列出類似於求豎直面和水平面控制曲線的方程組,只是a,b,c成為已知數,而x1,y1和x1』,z1』變為未知數,可以分別求出該點在豎直面和水平面的平面坐標(x,y)(x』,z』)。合成兩對平面坐標,將(x』,y,z』)作為第i個關鍵節點的空間坐標。
前一時刻的豎直面和水平面內的勢能-閾值對可依據當時的控制曲線按技術方案提供的公式求得,通過比較可知,當前的彈性彎曲可以完全恢復,扭轉程度仍未超過當前狀態下允許的最大值。參見圖7,筆刷在提筆、壓筆的過程中會彈性的彎曲並恢復,其中12筆刷原始狀態,13傾斜毛筆,14壓筆,15提筆;另外參見圖8,其中8(a)是一個水平橫向運筆過程,8(b)是一個水平測向運筆過程,其間的扭轉程度的最大值由水平面勢能-閾值對確定的。
然後系統對筆刷表面受擠壓時的形變進行控制,參見圖9,在壓筆過程中,筆刷會因為受擠壓而變形。
在本例所舉的時刻,因為只有筆尖點處輔助面落在紙面上,其它輔助面沒有與紙面相交,表明彎曲程度還很小,所以表面基本沒有變化。
假設另一時刻序號為9的關鍵節點是序號值最小,且以其為中心的輔助面與紙面相交的關鍵節點,則首先求得該點處輔助面的壓縮率,f=1-λ·ap/l=1.0-0.8*((0.3*3.0/10.0)*0.98)=93%,即輔助面的最短軸半徑變為初始半徑的0.93倍。基於該最短半徑,系統就可以求出新的外形控制曲線,並調整表面的形變。
回到本例,壓力、傾角、溼度綜合值c=λ*p*α/w=1*4.8*56*π/(180*0.4)=11.7286,低於系統設定的該種毛筆分叉限定值t=8.0,會產生程度較輕的分叉,λ更新為原值的p=0.5倍,即λ=0.5。分叉起始關鍵節點序號為 是從筆尖處關鍵節點算起的第四個節點。初始分叉間隔initGap=σ*c=0.00285*11.7286=0.03343。由此產生第一條分叉脊骨,並將該脊骨的控制轉移給了動態控制模塊。這裡的限定值t可以由用戶重新設定,以滿足不同的需要。參見圖6、圖10、圖11。其中8分叉偏移量,9分叉脊骨,10主脊骨,11產生分叉的節點位置。
除了該種軟豪毛筆外,系統還提供了其它種類的預設毛筆可供用戶使用。用戶也可以通過在系統允許的範圍內設定特定參數的數值,如硬度、溼度等,來取得符合自身要求的毛筆。
本發明有以下幾種有效的實施方式。
1.將各個時刻毛筆的形變連續疊加並顯示在屏幕上,可以實時繪製出各種水墨效果的筆道,用來進行中國畫和書法的創作。以壓感筆和數位板作為輸入裝置,用戶操縱壓感筆的方式不同,可以實時繪製出不同的筆鋒。這裡以毛筆最基本的兩種筆法——中鋒和側鋒為例,說明操作過程中鋒——毛筆的技法中有一種最基本的中鋒筆法,中鋒亦是藏鋒,執筆端正,筆鋒在墨線的中間,用筆的力量均勻,筆鋒垂直於紙面,其效果圓渾穩重。相對於其它運筆方法來說,中鋒筆法更易被初學者掌握。如圖12(a)中所示,用戶按下壓感筆,然後基本順著此時壓感筆的傾斜方向運筆,反映在屏幕上,即是筆尖在筆跡正中的中鋒筆法。結合用筆的力度、速度、走勢又可將中鋒用筆演化成拖鋒和逆鋒。
側鋒——側鋒是指用筆執筆偏側,筆鋒在墨線的邊緣,筆鋒與紙面形成一定的角度,用力不均勻,時快、時慢、時輕、時重,其效果毛、澀變化豐富。如圖12(b)中所示,用戶按下壓感筆後,向筆桿一側的方向運筆,反映在屏幕上,即是筆尖在筆跡一側的側鋒筆法。
中鋒和側鋒是中國畫和書法的最基本的兩種筆法,結合用筆力度、向度、速度等的變化,可演化為其它幾種筆法。用戶熟練使用後,完全可以使用壓感筆模擬出毛筆的勾、擦、點、染,以及飛白等表現手法2.本發明可以融合到其它繪圖軟體中。用戶控制屏幕中的三維虛擬毛筆進行繪製,比單純觀察滑鼠指針的移動更加直觀、自然,上手容易。
3.由於很多西畫種類如油畫、水彩畫等使用的也是軟性筆刷,本發明只要經過少量修改,就可以直接被用來仿真這些在西畫中使用的筆刷。
權利要求
1.一種基於壓力感應筆和數位板的三維毛筆模型與仿真方法,其特徵是該仿真方法包括1個筆刷幾何模型和2個控制模塊,即動態控制模塊與分叉控制模塊組成,其中第一、筆刷幾何模型包括骨架和表面兩個部分,骨架由脊骨和輔助面組成,脊骨又細分為主脊骨和分叉脊骨,主脊骨位於骨架的中軸線上,表現彎曲、扭轉重要形變,分叉脊骨與主脊骨的結構相同,表現筆尖分叉行為;在脊骨上分布有n個節點——模型中稱之為關鍵節點,相鄰關鍵節點間的距離是一個等差數列,公差d=l·λ/(n2-n),其中l是筆刷長度,λ是調整因子;輔助面即以這些關鍵節點為中心,表現毛筆承受壓力時的外表面擠壓形變,輔助面與中軸線垂直,輔助面上有m/2條過其中心的軸線,相鄰軸線夾角相等,這些軸線的端點在模型中稱為輔助節點,即幾何模型有m個輔助節點;筆刷模型用拋物線模擬輔助面初始半徑的變化,某一輔助面的初始半徑r=a·s2+b·s+c,其中s是該輔助面中心的關鍵節點與根部關鍵節點之間的長度,拋物線係數a,b,c由三點確定,分別是根部輔助面,半徑最大處的輔助面,和筆尖處輔助面在脊骨同一側,且位於同一平面內的輔助節點的坐標值;模型骨架上添加表面,完成筆刷幾何模型建立並顯示;第二、動態控制模塊形變控制曲線——空間形變的確定根據數位板和壓力感應筆檢測到的參數壓感筆筆頭的水平面x、z坐標,壓力大小p,筆桿與水平面XZ的夾角α及筆桿在紙平面亦即水平面的投影與Z軸夾角β,唯一確定毛筆當前的空間位置;模塊可將p通過公式y=(1-p/1024)*l(1-系統設定的脊骨長度)轉換為y坐標,然後將(x,y,z)作為筆刷根部關鍵節點,即筆刷與筆桿連接處的空間位置;在豎直面內,幾何約束可以抽象表示為●拋物線過P0點●拋物線過P1點●拋物線上過P1點的切線與X軸正向的夾角等於α●拋物線在P0點與P1點間的弧長等於sp可列求控制曲線待定係數方程組如下x0=avy02+bvy0+cvx1=avy12+bvy1+cvx|y=y1=2avy+bvy0y1ds=sx0=avy02+bvy0+cvx1=avy12+bvy1+cvtan(/2-)=2avy+bvy0y11+(2avy+bv)2dy=s]]>x0,y0-P0點坐標x1,y1-P1點坐標α-過P1點的切線與X軸正向的夾角s-P0點到P1點的曲線弧長 av,bv,cv-拋物線線方程的待定係數在水平面內,幾何約束可以抽象表示為●拋物線過P0′點●拋物線過P1′點●拋物線上過P1′點的切線與X軸正向的夾角等於α′●拋物線在P0′點與P1′點間的弧長等於sp對於水平面,可列求控制曲線待定係數程組如下tan=2ahx1+bhz1=ahx12+bhx1+chz0=an(x0)2+bhx0+chx0x1ds=sptan=2ahx1+bh0=ahx12+bhx1+chz0=ah(x0)2+bhx0+chx0x11+(2ahx+bh)2dx=sp]]>x0′,z0-P0′點坐標x1,z1-P1′點坐標α′-過P1′點的切線與X軸正向的夾角sp-P0′點到P1′點的曲線弧長 ah,bh,ch-拋物線線方程的待定係數使用迭代求根法可以解出上述兩個求解曲線待定係數的方程組,從而得到豎直面和水平面內的兩條形變控制曲線,解出控制曲線後,通過它們求解各個關鍵節點在豎直面和水平面內的坐標,並將這兩組坐標加以組合,就可以將兩條控制曲線合成為筆刷的空間形變,其步驟為a)豎直面(XOY面)內得到的曲線方程x=av·y2+bv·y+cvb)水平面(XOZ面)內得到的曲線方程z=ah·x2+bh·x+chc)對於每一個關鍵節點P,設豎直面內該點到曲線段端點的弧長為ps,它在水平面上的對應長度psp,二者之間的關係近似為pspsp=ssppsp=psssp]]> d)設P點待定3維坐標為(x,y,z),在兩個平面內的對應點的平面坐標分別為豎直面內Pv(xv,yv),水平面內Ph(xh,yh),這兩組坐標分別由以下兩個方程組求得xv=avyv2+bvyv+cvyvy1ds=ps(xv,yv)]]>zh=ahxh2+bhxh+chxhx1ds=psp(xh,zh)]]>e)(xh,yv,zh)即為關鍵節點P的3維坐標值;勢能-閾值對——彎曲恢復程度、扭轉程度的確定勢能-閾值對在豎直面和水平面內的計算方法和比較過程是設k-勢能調整係數,rid-硬度,wet-溼度,p-壓力在豎直面內勢能Ev=k·(Δθv)2,閾值Tv=vridpwet,]]>其中 恢復;若Ev>Tv則彎曲部分恢復後有殘餘形變,殘餘勢能ΔE=Ev-Tv,脊骨僅能恢復到Ev=ΔE時的狀態。在水平面內勢能Eh=k·(Δθh)2,閾值Th=δh·p·wet·μ,其中, 若Eh≤Th則筆尖點未能擺脫摩擦力束縛,位置不變,扭轉程度增大;若Eh>Th則恢復到Eh=Th,扭轉程度達到最大筆刷受壓形變——骨架中的一個輔助面即是筆刷的一個橫截面,輔助面初始時類似於圓面,當筆刷與紙面接觸並且受到下壓力時,隨著壓力或者筆桿與紙面夾角的增大,它的各軸長度在垂直方向上減小,在水平方向上增大,從而變化為一個類橢圓面,但面積大小不變。依據輔助面面積守恆原理,首先找到一個到彎曲脊骨曲率最大處的距離最小的關鍵節點,確定以該節點為中心的輔助面的受擠壓形變程度(即變為橢圓面後,橢圓面的長短軸大小),然後在該處形變的基礎上求解一條表面形變控制曲線,該曲線確定其它輔助面的受擠壓形變程度,所有的這些變化的集合就可以反映出筆刷的表面形變,步驟如下a)對一個特定時刻的彎曲脊骨確定其曲率最大處的關鍵節點——即檢查以關鍵節點為中心的輔助面上是否有低於紙面的輔助節點,從脊骨根部點起向尖部點依次遍歷,第一個滿足這種情況的關鍵節點即作為曲率最大處的關鍵節點;b)計算以此關鍵節點為中心的輔助面的最短軸(即輔助面變形為橢圓面後,該橢圓面的短軸)距離——最短軸距離由該輔助面初始半徑R與擠壓比率f的乘積確定,即Rmin=R×f,擠壓比率f與壓力成正比,與脊骨長度成反比,與筆桿與紙面夾角成正比,公式為λ-調整因子(默認為0.24)a-筆桿與紙面夾角f=1-λ·ap/l,其中l-筆刷長度p-壓力c)由脊骨尖部輔助面,最大曲率處輔助面和脊骨根部輔助面上的最長軸(即輔助面變形為橢圓面後,該橢圓面的長軸)在脊骨同一側的輔助節點,確定一條水平面曲線方程z=ax2+bx+c;用這條根據已調整的輔助面上的節點得到的曲線調整其它輔助面;d)各輔助面最長軸所在直線的水平面投影與控制曲線有一個交點,該點到中心在水平面上的投影的距離即是其新的最長軸半徑Rmax;依據面積守恆原理,受擠壓時橢圓面的面積等於初始時圓面的面積,受擠壓輔助面的橢圓的最短軸半徑Rmin=R2/Rmax;e)根據新的最短軸半徑調整各個輔助節點的3維空間坐標;第三、分叉模塊依據輸入的信息,判斷是否應產生分叉,計算脊骨上開始產生分叉的關鍵節點位置,和分叉部分與主體部分之間的初始間隔,最後將對分叉部分的控制傳遞給動態控制模塊;當毛筆承受的壓力、傾斜角度和溼度的綜合值c=λ*p*α/w(c-綜合值、λ-調整因子、p-當前壓力值、α-毛筆與XOZ面夾角、w-筆刷溼度)超過模塊設定的限定值t後,即產生分叉,這裡的限定值t是系統的預設值,通過實驗確定,只有當c>t時才會出現分叉效果。同時調整因子變為其原值的q倍(0<q<1可由用戶設定),以保證只有當壓力再次超過某一定值後才會產生新的分叉,而不是陷入不斷分叉的死循環中;開始產生分叉的關鍵節點由公式 (n-關鍵節點數,t-分叉限定值)確定;分叉脊骨與主脊骨的初始間隔大小與毛筆所受壓力,以及持筆角度成比例關係,但在這一範圍內又具有一定的隨機性,公式為initGap=σ*p*α(initGap-初始分叉間隔;σ-隨機因子,可由各種程式語言內含的隨機數生成函數生成);分叉脊骨與主脊骨之間的偏移量主要體現在每一時刻變化開始時二者的尖端點在Z軸向的距離,這是一個動態變化的值,設定其公式為Gap=λ*p*α/w+initG其中Gap-分叉脊骨與主脊骨偏移量λ-調整因子p-毛筆所受下壓力α-筆桿與紙面夾角w-筆刷當前溼度initGap-初始偏移量分叉控制模塊在初始化分叉脊骨後,把對分叉脊骨運動變化的控制交給動態控制模塊,動態控制模塊把主脊骨在豎直面和水平面上控制曲線的參數傳遞給分叉脊骨,分叉脊骨根據這些參數●從主脊骨複製得到它自身在豎直面上的控制曲線,●分叉脊骨尖部點的z0坐標由主脊骨尖部點的z0坐標加上偏移量得到,由此確定它在水平面上的控制曲線;以上計算結束後,動態控制模塊對分叉脊骨的控制就與主脊骨相同了;上述過程反覆進行,即可對虛擬毛筆模型進行動態控制,在計算機屏幕上模擬出真實毛筆的運動變形並最終顯示毛筆的筆跡。
全文摘要
基於壓感筆等裝置的三維毛筆模型與仿真方法。屬於計算機模擬仿真技術領域。包括筆刷模型和動態控制模塊與分叉控制模塊組成。筆刷模型有骨架(由脊骨和輔助面組成)和表面兩部分。動態控制模塊綜合分析從輸入裝置實時獲得的方位信息,求解虛擬毛筆的形變控制曲線,從而調整毛筆幾何模型以改變其形態。分叉模塊依據輸入的信息,判斷是否應產生分叉,計算產生分叉的位置,和分叉部分與主體部分之間的初始間隔,最後將對分叉部分的控制傳遞給動態控制模塊。本發明保證了動態控制的實時性,既能逼真地模擬毛筆的外部形態和動態變化,又能滿足實時性要求。該仿真技術可以融合到各種繪圖軟體中,提供毛筆落在紙面上的筆跡,最終繪製出具有水墨效果的筆道。
文檔編號G06T11/80GK1870052SQ20051011518
公開日2006年11月29日 申請日期2005年11月15日 優先權日2005年7月8日
發明者孫濟洲, 孫美君, 王秀錦, 丁兆偉, 李繼宗 申請人:天津大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀