專利名稱:在便攜式數(shù)據(jù)處理器上處理三維動畫的方法
技術(shù)領(lǐng)域:
本發(fā)明系有關(guān)于一種在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,應(yīng)用于處理速度較低階的數(shù)據(jù)處理器(如PDA)上實現(xiàn)三維動畫的方法。
目前市場上頗受歡迎的一些便攜式數(shù)據(jù)處理器的產(chǎn)品,如個人數(shù)字助理(Personal Digital Assistant,PDA)或是電子字典,為了增加產(chǎn)品內(nèi)容的豐富性,多半會設(shè)計有一些簡單的游戲儲存于其中,以供使用者作為娛樂用途,比如棋類游戲,或者一些簡單的打飛機、俄羅斯方塊等二維的游戲,使得這些產(chǎn)品多了娛樂上的用途。這樣雖然可以提供使用者一些方便,但和PC上豐富的游戲相比就大為遜色了。
其中最主要的原因是在這些產(chǎn)品上沒有三維的游戲。由三維的運算需要耗費處理器大量的處理時間,再加上除了CPU的運算速度比PC慢的多外,更不會配備PC上常見的圖形加速卡,甚至連浮點計算器都沒有,使得在這些產(chǎn)品上的游戲設(shè)計受到了許多的限制,無法像PC游戲來得豐富誘人,因此如果能在這些產(chǎn)品的先天限制條件下,可以提供三維的游戲,相信能使這款產(chǎn)品脫穎而出,而受到消費者的青睞。
有鑒于此,本發(fā)明主要的目的在于提供一種可在便攜式數(shù)據(jù)處理器上實現(xiàn)三維游戲的方法,利用非均勻縮圖的技術(shù)實現(xiàn)在便攜式數(shù)據(jù)處理器上的實現(xiàn)三維游戲。由于這個操作不需要實際進行三維的運算,因此并不會延緩處理速度。透過這個方法,使用者可以把很多逼真的三維圖像放進便攜式數(shù)據(jù)處理器中,乃至實現(xiàn)復(fù)雜的三維游戲。根據(jù)本發(fā)明所揭露的方法,一種可在便攜式數(shù)據(jù)處理器上實現(xiàn)三維游戲的方法,該方法包含下列步驟初始化原始圖像;初始化目標(biāo)圖像;決定目標(biāo)圖形在X方向及Y方向的壓縮比;根據(jù)該初始化后的尺寸給定一X方向操作變量;根據(jù)該初始化后的尺寸給定一Y方向操作變量;根據(jù)該操作變量取得目標(biāo)圖形的坐標(biāo)值;以及繪出該目標(biāo)圖像。
其中初始化原始圖像包括取得該原始圖像的寬度值以及高度值;初始化目標(biāo)圖像可分為左邊、右邊、上邊、下邊,初始化左邊及右邊目標(biāo)圖像包括取得壓縮后的高度值、寬度值以壓縮后小邊兩端點的Y坐標(biāo)值,初始化上邊及下邊目標(biāo)圖像包括取得壓縮后的高度值、寬度值以壓縮后小邊兩端點的X坐標(biāo)值。
另外,為了擴大視覺范圍的效果,利用循環(huán)卷動的方式以構(gòu)成更大的視覺范圍。動態(tài)調(diào)整輸出圖像在原圖中的起始位置,即可實現(xiàn)了人往前走和后退,快跑和慢跑的視覺效果。運用非均勻縮圖技術(shù)和卷圖操作,即可通過一張簡單的平面圖像而生成逼真的動態(tài)三維效果。
有關(guān)本發(fā)明之詳細(xì)內(nèi)容及技術(shù),茲就配合圖標(biāo)說明如下
圖1A,表示左邊圖像變換前所在區(qū)域。
圖1B,表示左邊圖像變換后所在區(qū)域。
圖2A,表示右邊圖像變換前所在區(qū)域。
圖2B,表示右邊圖像變換后所在區(qū)域。
圖3A,表示上邊圖像變換前所在區(qū)域。
圖3B,表示上邊圖像變換后所在區(qū)域。
圖4A,表示下邊圖像變換前所在區(qū)域。
圖4B,表示下邊圖像變換后所在區(qū)域。
圖5,為本發(fā)明的實施例流程圖。
本發(fā)明的主要目的在于提供一種可在便攜式數(shù)據(jù)處理器上實現(xiàn)三維游戲的方法,利用非均勻縮圖的技術(shù)實現(xiàn)在便攜式數(shù)據(jù)處理器上的實現(xiàn)三維游戲。由于這個操作不需要實際進行三維的運算,因此并不會延緩處理速度。透過這個方法,使用者可以把很多逼真的三維圖像放進便攜式數(shù)據(jù)處理器中,乃至實現(xiàn)復(fù)雜的三維游戲。根據(jù)上述的目的,只需使用者提供一些事先繪好的平面圖像,經(jīng)過本發(fā)明方法的處理,即可得到逼真的動態(tài)三維效果。
在詳細(xì)說明本發(fā)明的執(zhí)行流程之前,先行說明本發(fā)明所參考的原理如下。由于三維的圖像在視覺處理上會有景深的問題,因此我們先說明景深與本發(fā)明的關(guān)系。
所謂景深,亦即人與景物的相對距離,所謂景深變化就是說人與周圍景物的相對距離發(fā)生了變化,人們透過對景深變化的感受而獲得自己的位置信息。人們能感受景深變化主要是因為遠處的景物在人的視網(wǎng)膜中所成的像比較小,而近處的景物所成的像比較大,當(dāng)人感覺到某處景物逐漸變大的時候,他知道自己正在靠近那個景物,而當(dāng)他感覺到某處景物逐漸變小的時候,他知道自己正在遠離那個景物。人們在生活中還有這樣的經(jīng)驗,當(dāng)一輛汽車從遠處駛過時,他會覺得那是緩緩移動,而當(dāng)汽車從他身旁駛過時,他會覺得那是風(fēng)馳電掣??傮w來說,遠處的景物看起來比較小一些,但小卻不會讓人感到比例失調(diào),近處的景物看起來要大一些。根據(jù)這些常識,我們可以知道甚么樣的效果才讓人感覺到右景深并且景深在變化,從而設(shè)計出實現(xiàn)這種效果的方法,那就是前述所提到的非均勻縮圖技術(shù)。
以圖1為例,其中圖1A代表沒有景深效果的原平面圖像,而圖1B代表經(jīng)過非均勻縮圖技術(shù)壓縮后的景物圖像,其右邊圖像高度比較小,代表較遠處的景物,左邊圖像高度比較大,代表比較近的景物。處理縮圖的原則是,對相同景深的部位采用相同的壓縮比例,對于X方向坐標(biāo)相同的景物采用相同的景深加以處理,因此所謂的非均勻縮圖,即是指水平方向與垂直方向的壓縮比例不一樣,在水平方向,也就是X軸方向,采用非均勻壓縮,垂直方向,也就是Y軸方向,采用均勻壓縮。
縮圖的基本操作是從原圖像中經(jīng)由抽點和抽線的過程以組成新的圖像。所謂抽點和抽線是指是從原圖像中抽取一個個的點和一條條的線以組成新的圖像。
由于原圖像尺寸大于壓縮后圖像的尺寸,因此若從壓縮后的圖像中的每一個點,去尋求在原圖像中的相應(yīng)點,應(yīng)比從原圖像中的每個點向壓縮后圖像映像所作的計算量要小。把根據(jù)壓縮后圖像中像點的坐標(biāo),去尋求原圖像中相應(yīng)點坐標(biāo)的過程稱為反算過程。
實際處理上,為了使圖像看起來不變形,對于一個點來說,其垂直方向和水平方向的變形比例應(yīng)該一樣,因此我們便可以根據(jù)一個方向的壓縮比例來求取另一個方向的壓縮比列。具體應(yīng)用這個關(guān)系,體現(xiàn)在抽點和抽線的具體過程。
以圖1B所示水平三維景深變化效果,我們處理過程為對水平方向(X軸方向)采用非均勻抽線;對垂直方向(Y軸方向)采用均勻等距抽點處理。所謂等距抽點是托對于某一條垂直線來說,其壓縮后仍為一條垂直線,壓縮過程即為等距抽點;而對水平方向抽線壓縮原則反算壓縮后垂直圖像線所對應(yīng)的原圖像的垂直圖像線,以此實現(xiàn)抽線。
以下為對應(yīng)水平三維景深變化效果的水平反算抽線公式推導(dǎo)過程。設(shè)在變換前后圖像左邊高度不變,如圖1A及圖1B所示,變換前原圖的寬為w,高為h,變換后圖像的右邊高度變?yōu)閔′,由原圖的寬度w求變換后圖的寬度為w′的過程如下先求出原圖上坐標(biāo)為X的點在Y方向上的壓縮比例,可得f(x)=1-(h-h′)xw]]>由于對一個點來說,其在X方向上的壓縮比例和Y方向上的壓縮比例應(yīng)一致,因此可用Y方向上的壓縮比例代替X方向上的壓縮比例在X方向上求積,求得變換后圖的寬度w’,可得w′=∫0wf(x)dx=∫0w(1-(h-h′)xhw)dx=h+h′2hw]]>接著,由這個寬度變化的關(guān)系式推導(dǎo)變換后圖像中橫坐標(biāo)為X’的點在原圖中的橫坐標(biāo)X,有如下關(guān)系x′=∫0xf(ξ)dξ=∫0x[1-(h-h′)hw]dξ=ξ|0x-(h-h′)2hwξ2|0x=x-(h-h′)2whx2,]]> 解出上式可得縱坐標(biāo)方向y’和y有如下對應(yīng)關(guān)系x=2b(1-1-x′b)]]>,其中b=w′1-(h′h)2,]]>其中,x,x′,y,y′分別為變換前后X方向和Y方向的坐標(biāo),h為變換前圖像的高度,h′為變換后圖像小邊的高度,h1,h2為圖像變換后小邊縱坐標(biāo),w為變換前圖像的寬度,w′為變換后圖像小邊的寬度,w1,w2為圖像變換后小邊橫坐標(biāo)(可參考圖1A及圖1B中的標(biāo)示)根據(jù)這個以上的推導(dǎo)過程,可以推出四種具有景深變化的視覺效果,即人眼視覺的左邊、右邊、天上及腳下四個區(qū)域的景物的視覺效果,分別具有如下特征左邊大右邊小,右邊大左邊小,上邊大下邊小,下邊大上邊小,分別如圖1B、圖2B、圖3B及圖4B所示,其變換前的圖像如圖1A、圖2A、圖3A及圖4B所示。我們分別給出從壓縮后圖像像點坐標(biāo)(x′,y′)反算原圖像中對應(yīng)像點坐標(biāo)(X,Y)的計算公式。他們的反算公式如下(大邊長度不變)左邊景物反算公式x=2b(1-1-x′b)]]>,其中b=w′1-(h′h)2,]]>y=y′w′-h1′x′hw′-(h-h2′+h1′).]]>右邊景物反算公式x=w-2b(1-1-x′b),]]>其中b=w′1-(h′h)2,]]>y=y′w′-h1′x′hw′-(h-h2′+h1′).]]>上邊景物反算公式y(tǒng)=2b(1-1-y′b),]]>其中b=h′1-(w′w)2,]]>x=x′h′-w1′y′wh′-(w-w2′+w1′).]]>下邊景物反算公式y(tǒng)=h-2b(1-1-y′b),]]>其中b=h′1-(w′w)2,]]>x=x′h′-w1′y′wh′-(w-w2′+w1′).]]>接著以左邊景物為例,說明其實際的操作流程。根據(jù)本發(fā)明所揭露的方法,該方法包含下列步驟初始化原始圖像;初始化目標(biāo)圖像;決定目標(biāo)圖形在X方向及Y方向的壓縮比;根據(jù)該初始化后的尺寸給定一X方向操作變量;根據(jù)該初始化后的尺寸給定一Y方向操作變量;根據(jù)該操作變量取得目標(biāo)圖形的坐標(biāo)值;以及繪出該壓縮后的圖形。
其中初始化原始圖像包括取得該原始圖像的寬度值以及高度值;初始化目標(biāo)圖像可分為左邊、右邊、上邊、下邊,初始化左邊及右邊目標(biāo)圖像包括取得壓縮后的高度值、寬度值以壓縮后小邊兩端點的Y坐標(biāo)值,初始化上邊及下邊目標(biāo)圖像包括取得壓縮后的高度值、寬度值以壓縮后小邊兩端點的X坐標(biāo)值。其詳細(xì)的流程圖,如圖5所示,步驟10開始;步驟11輸入原圖及目標(biāo)圖尺寸;步驟12根據(jù)原圖尺寸以及目標(biāo)尺寸給定X軸變量b=w/(1-(h′/h)^2);步驟13令循環(huán)變量I=0;步驟14根據(jù)X軸便量求出原圖X方向坐標(biāo)步驟15根據(jù)原圖尺寸以及目標(biāo)尺寸給定Y軸變量J=h1′*I/w’;步驟16根據(jù)Y軸變量求出原圖y方向坐標(biāo)y=h*J/(h-h2*I/w′);步驟17J=J+1;步驟18如果J<h-h2*i/w′,則轉(zhuǎn)16繼續(xù)執(zhí)行;步驟19I=I+1;步驟20如果I<w′,則轉(zhuǎn)14繼續(xù)執(zhí)行;步驟21結(jié)束。
接著將上述的步驟作更詳細(xì)的說明如下首先,先將原圖的尺寸以及目標(biāo)圖的尺寸初始化,以供后續(xù)處理使用,接根據(jù)這些尺寸,給定X軸變量,用以計算原圖中的坐標(biāo),這個變量系由原來的寬度、高度以及縮圖之后的高度所組成,命名為X軸變量b=w/(1.0-(h′/h)^2)。
由于圖像中有很多像素點,所以必須設(shè)定一個循環(huán)變量,以持續(xù)計算原始的坐標(biāo)值。將循環(huán)變量I設(shè)定為0,接著求出根據(jù)X軸變量求出原圖中的坐標(biāo)值。求出坐標(biāo)值之后,續(xù)根據(jù)循環(huán)變量I值、壓縮后的尺寸以及原來的寬度給定Y軸變量j=h1′*I/w′,接著根據(jù)此變量求原圖中Y坐標(biāo)值,其公式為y=h*J/(h-h2*I/w′)。
以判斷式判斷求完與否,若尚未求完,則回到步驟16繼續(xù)執(zhí)行;將循環(huán)變量J<h-h2*i/w’之后,再來判斷
I<w′,若大于w’,則回到步驟14繼續(xù)執(zhí)行計算。
另外,為了擴大視覺范圍的效果,利用循環(huán)卷動的方式以構(gòu)成更大的視覺范圍。動態(tài)調(diào)整輸出圖像在原圖中的起始位置,即可實現(xiàn)了人往前走和后退,快跑和慢跑的視覺效果。運用非均勻縮圖技術(shù)和卷圖操作,即可通過一張簡單的平面圖像而生成逼真的動態(tài)三維效果。
雖然本發(fā)明以前述較佳實施例揭露如上,然其并非用以限定本發(fā)明,任何熟習(xí)此技藝者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許更動與潤飾,因此本發(fā)明的保護范圍當(dāng)視所界定為準(zhǔn)。
權(quán)利要求
1.一種在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,系指在較低階的便攜式數(shù)據(jù)處理器上將圖像壓縮后形成具有景深三維效果的方法,該方法包含有下列步驟初始化一原始圖像;初始化一目標(biāo)圖像;決定該目標(biāo)圖像在X方向及Y方向的壓縮比;根據(jù)該X方向的壓縮比給定一X方向操作變量;根據(jù)該Y方向的壓縮比給定一Y方向操作變量;根據(jù)該操作變量決定目標(biāo)圖形的坐標(biāo)值;以及繪出該目標(biāo)圖像。
2.如權(quán)利要求書第1項所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中初始化原始圖像包括取得該原始圖像的寬度值以及高度值。
3.如權(quán)利要求書第1項所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中該目標(biāo)圖像可分為左邊圖像、右邊圖像、上邊圖像或下邊圖像之中的任一者。
4.如權(quán)利要求書第3項所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中該初始化左邊及右邊目標(biāo)圖像包括取得該目標(biāo)圖像的高度值、寬度值以壓縮后小邊兩端點的Y坐標(biāo)值。
5.如權(quán)利要求書第3項所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中該初始化上邊及下邊目標(biāo)圖像包括取得該目標(biāo)圖像的高度值、寬度值以壓縮后小邊兩端點的X坐標(biāo)值。
6.如權(quán)利要求書第1項所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中該決定目標(biāo)圖形之坐標(biāo)值的步驟更包含根據(jù)該X方向操作變量取得該原始圖像中對應(yīng)像素的X坐標(biāo);根據(jù)該Y方向操作變量取得該原始圖像中對應(yīng)像素的Y坐標(biāo);以及根據(jù)該原始圖像之像素的坐標(biāo)值取得該像素點的灰階值。
7.如權(quán)利要求書第1項所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中該X方向操作變量為w/(1-(h′/h)^2),其中w為原始圖像的寬度值,h為該原始圖像的高度值,h’為該目標(biāo)圖像的高度值。
8.如權(quán)利要求書第1項所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中該Y方向操作變量為h1’*I/w’其中h1’為該目標(biāo)圖像小邊之上端點的Y坐標(biāo)。
9.如權(quán)利要求書第3項所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中該Y方向操作變量中1為X坐標(biāo)的遞增值。
10.如權(quán)利要求書第1頊所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中該便攜式數(shù)據(jù)處理器為個人數(shù)字助理(PDA)。
11.一種在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,系指在較低階的便攜式數(shù)據(jù)處理器上將圖像壓縮后形成具有景深三維效果的方法,該方法包含有下列步驟初始化一原始圖像;初始化一目標(biāo)圖像;決定該目標(biāo)圖像在X方向及Y方向的壓縮比;根據(jù)該X方向的壓縮比給定一X方向操作變量;根據(jù)該方向的壓縮比給定一Y方向操作變量;根據(jù)該操作變量決定目標(biāo)圖像的坐標(biāo)值;繪出該目標(biāo)圖像;將該目標(biāo)圖像的坐標(biāo)值遞增,并重復(fù)上述步驟取得一新的目標(biāo)圖像,再漿該新的目標(biāo)圖像繪出以達到移動的效果。
12.如權(quán)利要求書第11項所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中初始化原始圖像包括取得該原始圖像的寬度值以及高度值。
13.如權(quán)利要求書第11項所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中該目標(biāo)圖像可分為左邊圖像、右邊圖像、上邊圖像或下邊圖像之中任一者。
14.如權(quán)利要求書第13項所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中該初始化左邊及右邊目標(biāo)圖像包括取得壓縮后的高度值、寬度值以壓縮后小邊兩端點的Y坐標(biāo)值。
15.如權(quán)利要求書第13項所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中該初始化上邊及下邊目標(biāo)圖像包括取得該目標(biāo)圖像的高度值、寬度值以壓縮后小邊兩端點的X坐標(biāo)值。
16.如權(quán)利要求書第11項所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中該決定目標(biāo)圖形之坐標(biāo)值的步驟更包含根據(jù)該X方向操作變量取得原始圖像中對應(yīng)像素的X坐標(biāo);根據(jù)該Y方向操作變量取得該原始固像中對應(yīng)像素的Y坐標(biāo);以及根據(jù)該原始圖像的像素的坐標(biāo)值取得該像素點的灰階值。
17.如權(quán)利要求書第11項所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中該X方向操作變量為w/(1-(h′/h)^2),其中w為原始圖像的寬度值,h為該原始圖像的高度值,h′為該目標(biāo)圖像的高度值。
18.如權(quán)利要求書第11項所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中該Y方向操作變量為h1′*I/w′其中h1′為該目標(biāo)圖像小邊之上端點的Y坐標(biāo)。
19.如權(quán)利要求書第18項所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中該Y方向操作變量中1為X坐標(biāo)的遞增值。
20.如權(quán)利要求書第11項所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中該將目標(biāo)圖像坐標(biāo)值遞增的步驟中可為X坐標(biāo)遞增或Y坐標(biāo)遞增中之任一。
21.如權(quán)利要求書第11項所述的在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,其中該便攜式數(shù)據(jù)處理器為個人數(shù)字助理(PDA)。
全文摘要
本發(fā)明系有關(guān)于一種在便攜式數(shù)據(jù)處理器上處理三維動畫的方法,利用非均勻縮圖的技術(shù)實現(xiàn)在便攜式數(shù)據(jù)處理器上的實現(xiàn)三維游戲,利用非均勻縮圖技術(shù),僅需處理普通的平面圖像,并輔以勻速滾動條,即可實現(xiàn)三維景深變化的視覺效果,透過這個方法,使用者可以把很多逼真的三維圖像放進便攜式數(shù)據(jù)處理器中,乃至實現(xiàn)復(fù)雜的三維游戲。
文檔編號G06T15/70GK1369864SQ0110674
公開日2002年9月18日 申請日期2001年2月16日 優(yōu)先權(quán)日2001年2月16日
發(fā)明者陳淮琰, 肖騰飛 申請人:無敵科技(西安)有限公司