本申請是原案申請?zhí)枮?01380022288.6的發(fā)明專利申請(申請日:2013年7月31日,pct申請?zhí)枺簆ct/kr2013/006915,發(fā)明名稱:用于生成3d對象的設(shè)備和方法)的分案申請。
本發(fā)明涉及一種用于生成3d對象的設(shè)備和方法,更具體地說,涉及一種3d對象生成設(shè)備和方法,用于通過將2d網(wǎng)頁的結(jié)構(gòu)性元素網(wǎng)格化和將2d網(wǎng)頁的結(jié)構(gòu)性元素劃分為多個多邊形而生成3d對象,當(dāng)在生成的3d對象中接收到對象操縱信號時通過響應(yīng)于對象操縱信號改變單獨的網(wǎng)格元素的頂點坐標(biāo)值而生成3d變換矩陣,以及通過將預(yù)定的層疊樣式表(css)變換應(yīng)用于生成的3d變換矩陣來生成變換的3d對象。
背景技術(shù):
隨著自動化的近期進(jìn)展和朝著信息社會的發(fā)展,計算機(jī)圖形快速地應(yīng)用于寬的應(yīng)用領(lǐng)域。具體地說,使用3d圖形的領(lǐng)域突然增加。
在多數(shù)常規(guī)的3d對象系統(tǒng)中,利用3d多邊形處理方法生成并操縱3d對象。多邊形意指這樣一種多邊形,即,用于表示3d計算機(jī)圖形中的立體形狀的最小單元。
同時,使用webgl作為用于在網(wǎng)頁中提供3d技術(shù)的代表性方法。webgl是與作為最基本和普遍的3d圖形技術(shù)的opengl相似的技術(shù),并且可廣泛用于3d游戲中,這是因為可通過低級別的開發(fā)環(huán)境生成和操縱特定形狀的多邊形對象。
然而,webgl的缺點在于其僅支持pc環(huán)境中的最新的瀏覽器,諸如chrome,并且其因為性能和兼容性的原因在移動裝置中不受支持。
技術(shù)實現(xiàn)要素:
技術(shù)目的
已提出本發(fā)明以解決以上問題,并且本發(fā)明的目的是提供一種用于生成3d對象的設(shè)備和方法,通過利用四邊形形式的四邊形作為基本元素來仿真三角形形式的多邊形,所述設(shè)備和方法能夠僅利用“旋轉(zhuǎn)”、“平移”和“縮放”(即,基本3d變換技術(shù))以及“扭曲”(即,2d變換技術(shù))生成和操縱多邊形形式的3d對象。
本發(fā)明的另一目的是提供一種用于生成3d對象的設(shè)備和方法,其可利用移動裝置中可支持的css2d/3d變換技術(shù)實現(xiàn)諸如神奇效果、3d變形和翻頁效果的效果,并且還能夠基于多邊形生成和操縱3d對象。
本發(fā)明的又一目的是提供一種用于生成3d對象的設(shè)備和方法,即使在僅支持基本3d變換的有限的環(huán)境(例如,移動網(wǎng)絡(luò))中,所述設(shè)備和方法也能夠基于具有特定形式的多邊形、通過生成和操縱3d對象提供各種用戶界面和圖形效果。
本發(fā)明的另一目的是提供一種用于生成3d對象的設(shè)備和方法,其能夠通過基于網(wǎng)絡(luò)的元素的網(wǎng)格化生成基于多邊形的3d對象。
技術(shù)方案
根據(jù)用于實現(xiàn)所述目的的本發(fā)明的一方面,提供了一種3d對象生成設(shè)備,該3d對象生成設(shè)備包括:3d對象生成單元,所述3d對象生成單元用于通過將2d網(wǎng)頁的結(jié)構(gòu)性元素網(wǎng)格化和劃分為多個多邊形來生成3d對象;以及3d對象操縱處理單元,當(dāng)在生成的3d對象中輸入對象操縱信號時,所述3d對象操縱處理單元通過響應(yīng)于所述對象操縱信號改變各個網(wǎng)格元素的頂點坐標(biāo)值來生成3d變換矩陣,并且通過將所生成的3d變換矩陣應(yīng)用于預(yù)定的css變換來生成變換的3d對象。
3d對象生成單元可包括:四邊形網(wǎng)格元素生成模塊,所述四邊形網(wǎng)格元素生成模塊用于通過將所述網(wǎng)頁的結(jié)構(gòu)性元素等分為特定數(shù)量的四邊形網(wǎng)格來生成四邊形網(wǎng)格元素;以及3d對象生成模塊,所述3d對象生成模塊用于沿著對角線方向?qū)⒏鱾€生成的四邊形網(wǎng)格元素的頂點劃分為兩個三角形、復(fù)制四邊形網(wǎng)格元素、以及通過控制透明度以使得僅看見兩個四邊形的不同的三角形區(qū)來生成多個多邊形。
四邊形網(wǎng)格元素生成模塊可在所述網(wǎng)頁的所述結(jié)構(gòu)性元素是圖像的情況下從服務(wù)提供設(shè)備接收對應(yīng)于原始圖像的網(wǎng)格形式的單獨的圖像,或者通過瀏覽器內(nèi)的內(nèi)部操作將原始圖像變換為位圖形式并生成網(wǎng)格圖像,并且在所述網(wǎng)頁的所述結(jié)構(gòu)性元素不是圖像的情況下利用界定標(biāo)簽生成所述四邊形網(wǎng)格元素。
3d對象生成模塊可將除其中看見結(jié)構(gòu)性元素的三角形以外的區(qū)的透明度設(shè)為“0”,從而僅在兩個對應(yīng)的四邊形的不同區(qū)的三角形中看見結(jié)構(gòu)性元素。
3d對象操縱處理單元可包括:坐標(biāo)值存儲器模塊,所述坐標(biāo)值存儲器模塊用于存儲形成了通過所述3d對象生成單元所生成的3d對象的所述各個網(wǎng)格元素的頂點坐標(biāo)值;3d變換矩陣生成模塊,所述3d變換矩陣生成模塊用于當(dāng)輸入所述對象操縱信號時響應(yīng)于所述對象操縱信號改變所述各個網(wǎng)格元素的頂點坐標(biāo)值,并利用改變后的頂點坐標(biāo)值和存儲在所述坐標(biāo)值存儲器模塊中的所述頂點坐標(biāo)值來生成所述各個網(wǎng)格元素的所述3d變換矩陣;以及3d對象變換模塊,所述3d對象變換模塊用于通過將所生成的3d變換矩陣應(yīng)用于所述css變換來生成所述變換的3d對象。
根據(jù)本發(fā)明的另一方面,提供了一種通過3d對象生成設(shè)備生成和操縱2d網(wǎng)頁的結(jié)構(gòu)性元素成為3d對象的方法中的3d對象生成方法,該方法包括以下步驟:(a)通過將所述網(wǎng)頁的所述結(jié)構(gòu)性元素等分為特定數(shù)量的四邊形網(wǎng)格來生成四邊形網(wǎng)格元素;以及(b)沿著對角線方向連接各個生成的四邊形網(wǎng)格元素的頂點,將所連接的四邊形網(wǎng)格元素劃分為兩個三角形,復(fù)制所述四邊形網(wǎng)格元素,并且通過控制透明度以使得僅看見兩個四邊形的不同的三角形區(qū)來生成所述3d對象。
提供了一種3d對象生成方法,該方法還包括以下步驟:在所述步驟(b)之后,當(dāng)在所生成的3d對象中輸入對象操縱信號時,響應(yīng)于所述對象操縱信號改變所述各個網(wǎng)格元素的頂點坐標(biāo)值,并且利用改變后的頂點坐標(biāo)值和改變前的頂點坐標(biāo)值生成所述各個網(wǎng)格元素的3d變換矩陣;以及通過將所生成的3d變換矩陣應(yīng)用于預(yù)定的css變換來生成變換的3d對象。
在步驟(b)中,在所述網(wǎng)頁的所述結(jié)構(gòu)性元素是圖像的情況下,可從服務(wù)提供設(shè)備接收到對應(yīng)于原始圖像的網(wǎng)格形式的單獨的圖像,或者原始圖像通過瀏覽器中的內(nèi)部操作變換為位圖形式,并且可生成網(wǎng)格圖像,而在所述網(wǎng)頁的所述結(jié)構(gòu)性元素不是圖像的情況下可以利用界定標(biāo)簽生成所述四邊形網(wǎng)格元素。
根據(jù)本發(fā)明的又一方面,提供了一種其上以程序形式記錄了用于生成3d對象的方法的電子裝置可讀記錄介質(zhì),該方法包括以下步驟:通過將網(wǎng)頁的結(jié)構(gòu)性元素等分為特定數(shù)量的四邊形網(wǎng)格來生成四邊形網(wǎng)格元素;沿著對角線方向連接各個生成的四邊形網(wǎng)格元素的頂點,將所連接的四邊形網(wǎng)格元素劃分為兩個三角形,復(fù)制所述四邊形網(wǎng)格元素,并且通過控制透明度以使得僅在不同的三角形區(qū)中看見兩個四邊形來生成3d對象;當(dāng)在所生成的3d對象中輸入對象操縱信號時,響應(yīng)于所述對象操縱信號改變每一個所述網(wǎng)格元素的頂點坐標(biāo)值,并且利用改變后的頂點坐標(biāo)值和改變前的頂點坐標(biāo)值生成各個網(wǎng)格元素的3d變換矩陣;以及通過將所生成的3d變換矩陣應(yīng)用于預(yù)定的css變換來生成變換的3d對象。
發(fā)明效果
通過利用四邊形形式的四邊形作為基本元素來仿真三角形形式的多邊形,所述設(shè)備和方法能夠僅利用“旋轉(zhuǎn)”、“平移”和“縮放”(即,基本3d變換技術(shù))以及“扭曲”(即,2d變換技術(shù))生成和操縱多邊形形式的3d對象。
可利用移動裝置中可支持的css3d變換技術(shù)實現(xiàn)諸如神奇效果、3d變形和翻頁效果的效果,并且還能夠基于多邊形生成和操縱3d對象。
即使在僅支持基本3d變換的有限的環(huán)境(例如,移動網(wǎng)絡(luò))中,所述設(shè)備和方法也能夠基于具有特定形式的多邊形、通過生成和操縱3d對象提供各種用戶界面和圖形效果。
能夠通過基于網(wǎng)絡(luò)的元素的網(wǎng)格化生成基于多邊形的3d對象。
附圖說明
圖1是示出根據(jù)本發(fā)明的實施方式的用于生成3d對象的系統(tǒng)的示圖;
圖2是示意性地示出根據(jù)本發(fā)明的實施方式的3d對象生成設(shè)備的構(gòu)造的框圖;
圖3是示出圖2所示的3d對象生成單元的構(gòu)造的詳細(xì)框圖;
圖4是示出圖2所示的3d對象操縱處理單元的構(gòu)造的詳細(xì)框圖;
圖5是示出根據(jù)本發(fā)明的實施方式的通過3d對象生成設(shè)備生成和操縱3d對象的方法的流程圖;
圖6是示出根據(jù)本發(fā)明的實施方式的通過3d對象生成設(shè)備生成3d對象的方法的流程圖;
圖7是示出根據(jù)本發(fā)明的實施方式的生成3d對象的方法的畫面的示例性示圖;
圖8是示出根據(jù)本發(fā)明的實施方式的通過3d對象生成設(shè)備生成變換的3d對象的方法的流程圖;
圖9是示出根據(jù)本發(fā)明的實施方式的用于生成變換的3d對象的方法的畫面的示例性示圖。
[附圖中主要元件的標(biāo)號說明]
100:3d對象生成設(shè)備
110:通信單元
120:輸入單元
130:輸出單元
140:存儲器單元
150:3d對象生成單元
152:四邊形網(wǎng)格元素生成模塊
154:3d對象生成模塊
160:3d對象操縱處理單元
162:坐標(biāo)值存儲器模塊
164:3d變換矩陣生成模塊
166:3d對象變換模塊
具體實施方式
從以下基于附于本發(fā)明的說明書的附圖的具體實施方式中將更加清楚地理解本發(fā)明的上述目的、技術(shù)構(gòu)造和操作效果的細(xì)節(jié)。
層疊樣式表(css)是用于指定畫面構(gòu)造和網(wǎng)絡(luò)文檔的渲染方法的技術(shù),并且css支持施加至2d平面坐標(biāo)系的2d變換(諸如“平移”、“旋轉(zhuǎn)”、“縮放”和“扭曲”)、施加至3d立體圖形坐標(biāo)系的3d變換(諸如“平移3d'、“旋轉(zhuǎn)3d'和“縮放3d')和變換之間的動畫效果。
此外,css是適于簡單地操縱構(gòu)成網(wǎng)絡(luò)文檔的每一個結(jié)構(gòu)性元素的技術(shù),并且已用于提供諸如菜單欄/按鈕/圖像這樣的簡單的ui結(jié)構(gòu)性元素,以及基于網(wǎng)頁之間的移動的切換效果。然而,在本發(fā)明中,css可用于通過將網(wǎng)絡(luò)文檔的單獨的結(jié)構(gòu)性元素(具體地,圖像)分解為四邊形形式的片斷以及生成與多邊形相似的形式的片斷來生成和操縱特定的3d對象。
以下參照附圖描述其中生成和操縱3d對象的技術(shù)。
圖1是示出根據(jù)本發(fā)明的實施方式的生成3d對象的系統(tǒng)的示圖。
參照圖1,生成3d對象的系統(tǒng)包括用于響應(yīng)于3d對象生成設(shè)備100來提供網(wǎng)頁或wap頁面的服務(wù)提供設(shè)備200。
3d對象生成設(shè)備100通過將平面形式的2d網(wǎng)頁的結(jié)構(gòu)性元素劃分為多個多邊形來生成3d對象,并通過操縱3d對象中的每一個網(wǎng)格元素的頂點的位置來生成變換的3d對象。
這種3d對象生成設(shè)備100可應(yīng)用于具有通信功能和短程通信功能的任何用戶裝置。例如,用戶裝置可包括諸如筆記本、無線通信終端、智能電話、便攜式媒體播放器(pmp)、便攜式數(shù)字助理(pda)、平板pc、機(jī)頂盒和智能tv等的各種裝置。
參照圖2詳細(xì)描述3d對象生成設(shè)備100。
服務(wù)提供設(shè)備200響應(yīng)于3d對象生成設(shè)備100的請求將網(wǎng)頁或wap頁面提供至3d對象生成設(shè)備100。
圖2是示意性地示出根據(jù)本發(fā)明的實施方式的3d對象生成設(shè)備的構(gòu)造的框圖,圖3是示出圖2所示的3d對象生成單元的構(gòu)造的詳細(xì)框圖,圖4是示出圖2所示的3d對象操縱處理單元的構(gòu)造的詳細(xì)框圖。
參照圖2,3d對象生成設(shè)備100包括通過通信網(wǎng)絡(luò)發(fā)送和接收數(shù)據(jù)的通信單元110、輸入單元120、輸出單元130、存儲器單元140、3d對象生成單元150和3d對象操縱處理單元160。
通信單元110是用于經(jīng)通信網(wǎng)絡(luò)將3d對象生成設(shè)備100與服務(wù)提供設(shè)備連接的通信裝置,并且其可包括例如諸如移動通信和衛(wèi)星通信這樣的無線通信模塊、諸如互聯(lián)網(wǎng)的有線通信模塊和諸如wi-fi的短程無線通信模塊。
輸入單元120是用于接收控制3d對象生成設(shè)備100的操作的用戶請求的裝置,并且其響應(yīng)于用戶的操縱將用戶請求轉(zhuǎn)換為電信號。輸入單元120是指用于從用戶接收字母、數(shù)字和文本信息的鍵輸入裝置,并且可利用鍵盤、鍵區(qū)或觸摸屏實現(xiàn)鍵輸入裝置。
輸出單元130顯示被3d對象生成設(shè)備100訪問的網(wǎng)站的數(shù)據(jù)。此外,輸出單元130是指用于根據(jù)應(yīng)用的驅(qū)動來顯示畫面信息的顯示裝置。優(yōu)選地,利用諸如液晶顯示器(lcd)或有機(jī)發(fā)光二極管(oled)的小型平板顯示裝置實現(xiàn)輸出單元130。此外,輸出單元130可與輸入單元120一起以觸摸屏形式形成。
存儲器單元140存儲控制3d對象生成設(shè)備100的操作所需的程序以及當(dāng)執(zhí)行程序時所生成的數(shù)據(jù)。
3d對象生成單元150通過將對應(yīng)的結(jié)構(gòu)性元素通過2d網(wǎng)頁的結(jié)構(gòu)性元素的網(wǎng)格化劃分為多個多邊形來生成3d對象。3d對象由多個多邊形表示。通常,多邊形具有點、線和三角形的任一種形式。三角形多邊形由其各個頂點的坐標(biāo)(x,y,z)和其它屬性(例如,顏色和紋理坐標(biāo))表示。多邊形頂點的坐標(biāo)(x,y)指示輸出單元130上的位置。坐標(biāo)(z)指示頂點與3d場景的選擇的視點間隔開。
以下參照圖3描述3d對象生成單元150。3d對象生成單元150包括四邊形網(wǎng)格元素生成模塊152和3d對象生成模塊154。
四邊形網(wǎng)格元素生成模塊152通過將網(wǎng)頁的結(jié)構(gòu)性元素劃分為特定數(shù)量的相等的四邊形網(wǎng)格來生成四邊形網(wǎng)格元素。網(wǎng)頁的結(jié)構(gòu)性元素可包括諸如圖像、文本等這樣的對象。因此,如果網(wǎng)頁的結(jié)構(gòu)性元素是圖像,則四邊形網(wǎng)格元素生成模塊152可從服務(wù)提供設(shè)備接收對應(yīng)于原始圖像的網(wǎng)格形式的單獨的圖像。此外,四邊形網(wǎng)格元素生成模塊152可利用java腳本等通過瀏覽器內(nèi)的內(nèi)部操作將原始圖像變換為位圖形式,以及接著生成網(wǎng)格圖像。此外,如果網(wǎng)頁的結(jié)構(gòu)性元素不是圖像,則四邊形網(wǎng)格元素生成模塊152可通過利用諸如<div>或<span>這樣的界定標(biāo)簽將對應(yīng)的結(jié)構(gòu)性元素分解為四邊形網(wǎng)格來生成四邊形網(wǎng)格元素。
3d對象生成模塊154通過沿對角線方向連接通過四邊形網(wǎng)格元素生成模塊152生成的四邊形網(wǎng)格元素的頂點來生成多個多邊形,將連接的四邊形網(wǎng)格元素劃分為兩個三角形,復(fù)制四邊形網(wǎng)格元素,以及控制各個四邊形網(wǎng)格元素的透明度,使得僅看見兩個四邊形的不同的三角形區(qū)。這里,由多個所生成的多邊形形成的結(jié)構(gòu)性元素可以是3d對象。也就是說,3d對象生成模塊154沿著對角線方向連接四邊形網(wǎng)格元素的頂點,將連接的網(wǎng)格元素劃分為兩個三角形,復(fù)制兩對對應(yīng)的四邊形網(wǎng)格元素,并且控制各個三角形區(qū)的透明度以使得僅看見兩個四邊形的不同的三角形區(qū)。例如,就圖像而言,3d對象生成模塊154將除了看見的三角形以外的區(qū)的透明度(α值)設(shè)為“0”,從而在兩個四邊形的不同的區(qū)的三角形中看見圖像。此外,就除圖像以外的元素而言,3d對象生成模塊154可將一側(cè)的三角形的透明度(α值)設(shè)為“1”,并且將另一側(cè)的三角形的透明度(α值)設(shè)為“0”,從而僅在一側(cè)的三角形看見結(jié)構(gòu)性元素。
返回參照圖2,當(dāng)在通過3d對象生成單元150生成的3d對象中接收到對象操縱信號時,3d對象操縱處理單元160通過響應(yīng)于對象操縱信號改變單獨的網(wǎng)格元素的頂點坐標(biāo)值來生成3d變換矩陣,并且通過將生成的3d變換矩陣應(yīng)用于預(yù)定的css變換來生成變換的3d對象。也就是說,在生成3d對象之后,結(jié)構(gòu)性元素的原始圖像或形狀能夠通過操縱包括在3d對象中的單獨的網(wǎng)格元素的頂點的位置自由地變換。因此,當(dāng)接收到對象操縱信號時,3d對象操縱處理單元160可響應(yīng)于對象操縱信號通過根據(jù)3d變換合適地變換網(wǎng)格元素的形狀將原始圖像變換為特定形式的3d對象。
下面參照圖4描述3d對象操縱處理單元160。3d對象操縱處理單元160包括坐標(biāo)值存儲器模塊162、3d變換矩陣生成模塊164和3d對象變換模塊166。
坐標(biāo)值存儲器模塊162存儲構(gòu)成通過3d對象生成單元150生成的3d對象的各個網(wǎng)格元素的頂點坐標(biāo)值。這里,坐標(biāo)值存儲器模塊162可存儲陣列形式的各個網(wǎng)格元素的頂點坐標(biāo)值。
當(dāng)在通過3d對象生成單元150生成的3d對象中接收到對象操縱信號時,3d變換矩陣生成模塊164響應(yīng)于對象操縱信號來改變各個網(wǎng)格元素的頂點坐標(biāo)值,并利用改變后的頂點坐標(biāo)值和存儲在坐標(biāo)值存儲器模塊162中的頂點坐標(biāo)值生成各個網(wǎng)格元素的3d變換矩陣。
也就是說,如果用戶利用觸摸輸入或鼠標(biāo)移動3d對象的單獨的網(wǎng)格元素,或者單獨的網(wǎng)格元素響應(yīng)于諸如存儲的動畫邏輯這樣的事件而移動,則3d變換矩陣生成模塊164確定已接收到對象操縱信號,響應(yīng)于對象操縱信號改變各個網(wǎng)格元素的頂點坐標(biāo)值,并且通過在所有網(wǎng)格元素上執(zhí)行矩陣操作來生成css操作所需的3d變換矩陣。這里,生成的3d變換矩陣在網(wǎng)格元素中可具有不同的值。同時,在操作中,3d變換矩陣生成模塊164不包括在畫面中不可見的頂點(即,透明三角形區(qū)中的頂點)。
下面描述通過3d變換矩陣生成模塊164生成3d變換矩陣的方法。假設(shè)在場景上看到的三個頂點的當(dāng)前值分別為o1(x1,y1,z1)、o2(x2,y2,z2)和o3(x3,y3,z3),響應(yīng)于對象操縱信號改變的頂點坐標(biāo)值為d1(a1,b1,c1)、d2(a2,b2,c2)和d3(a3,b3,c3),并且將獲得的變換矩陣為m,3d變換矩陣生成模塊164需要滿足矩陣等式“m*o1=d1,m*o2=d2,m*o3=d3”。
就3×3矩陣而言,可通過在其中d1、d2和d3對應(yīng)于一列的矩陣pdestination之前乘以其中o1、o2和o3對應(yīng)于一列的矩陣porigin的逆矩陣容易地獲得m。然而,在公共變換矩陣中,為了應(yīng)用“平移”和“透明變換”,以4×4形式而非3×3形式建立諸如數(shù)學(xué)等式1這樣的矩陣等式mtransform。在這種情況下,因為存在多個方案,所以不提供逆矩陣。
[數(shù)學(xué)等式1]
mtransform*porigin=pdestination
因此,為了解決該問題,3d變換矩陣生成模塊164使用單獨地計算縮放、平移、旋轉(zhuǎn)和扭曲矩陣的方法。如果以3×3形式而非關(guān)于平移(tx,ty,tz)和透視(0001)的部分來重構(gòu)變換矩陣,則獲得數(shù)學(xué)等式2。
[數(shù)學(xué)等式2]
mt'*po'=pd'(未變換)
這里,mt'可以是根據(jù)mtransform重構(gòu)的矩陣,po'可以是根據(jù)porigin重構(gòu)的矩陣,pd'可以是根據(jù)pdestination重構(gòu)的矩陣。
如果將數(shù)學(xué)等式2的mt'矩陣分解為縮放、旋轉(zhuǎn)和扭曲矩陣,則獲得數(shù)學(xué)等式3
[數(shù)學(xué)等式3]
mt'=mrotate*mskew*mscale
這里,mrotate可以是旋轉(zhuǎn)矩陣,mskew可以是扭曲矩陣,mscale可以是縮放矩陣。
通過生成諸如數(shù)學(xué)等式4這樣的矩陣b,可利用原始坐標(biāo)和改變后的坐標(biāo)值如在數(shù)學(xué)等式5那樣獲得旋轉(zhuǎn)矩陣mrotate,然后執(zhí)行奇異值分解。
[數(shù)學(xué)等式4]
=umvt(通過奇異值分解)
[數(shù)學(xué)等式5]
mrotate=umvt
m=diag([(11det(u)det(v))])
可通過三角形的邊長之間的差異和內(nèi)角值之間的差異相對簡單地獲得扭曲矩陣和縮放矩陣,但具有多個方案而非單個值。在這種情況下,可獲得扭曲矩陣和縮放矩陣,假設(shè)“扭曲”僅存在于x方向或y方向??赏ㄟ^算法的變換獲得不同的變換矩陣,這是因為獲得的變換矩陣并非單個方案。
3d對象變換模塊166通過將通過3d變換矩陣生成模塊164生成的3d變換矩陣應(yīng)用于css變換而生成變換的3d對象。也就是說,如果css變換應(yīng)用于利用生成的3d變換矩陣改變了頂點的網(wǎng)格元素,則可響應(yīng)于對象操縱信號生成變換的3d對象。css變換是其中2d變換效果或3d變換效果應(yīng)用于形成html的每一個元素的技術(shù)。css變換提供用于操縱“旋轉(zhuǎn)”、“平移”、“縮放”和“扭曲”以及組合和處理“旋轉(zhuǎn)”、“平移”、“縮放”和“扭曲”的組合的矩陣接口。css變換是單獨地操縱四邊形形式的html元素的技術(shù),并且其主要用于諸如畫面切換和菜單構(gòu)造的需要簡單3d效果的部分,而非用于生成包括多個多邊形的復(fù)雜3d對象或者用于改變這種對象的向外的形狀的任務(wù)。css變換具有高兼容性,這是因為其除pc以外由最新移動裝置支持。
圖5是示出根據(jù)本發(fā)明的實施方式的通過3d對象生成設(shè)備生成和操縱3d對象的方法的流程圖。
參照圖5,3d對象生成設(shè)備通過將2d網(wǎng)頁的結(jié)構(gòu)性元素網(wǎng)格化和劃分為多個多邊形來生成3d對象(s402)。為了生成自由3d形式的對象,需要用于將網(wǎng)頁的結(jié)構(gòu)性元素(即,平面形式的矩形)劃分為多個多邊形(三角形對象)的任務(wù)。因此,為了生成3d對象,3d對象生成設(shè)備將2d網(wǎng)頁的結(jié)構(gòu)性元素劃分為多個多邊形。參照圖6詳細(xì)描述通過3d對象生成設(shè)備生成3d對象的方法。
在執(zhí)行步驟s402之后,當(dāng)在生成的3d對象中輸入對象操縱信號時(s404),3d對象生成設(shè)備根據(jù)輸入的對象操縱信號生成3d變換矩陣(s406)。然后,3d對象生成設(shè)備通過將生成的3d變換矩陣應(yīng)用于css變換而生成變換的3d對象(s408)。
參照圖8詳細(xì)描述通過3d對象生成設(shè)備生成變換的3d對象的方法。
圖6是示出根據(jù)本發(fā)明的實施方式的通過3d對象生成設(shè)備生成3d對象的方法的流程圖,圖7是根據(jù)本發(fā)明的實施方式的示出生成3d對象的方法的畫面的示例性示圖。
參照圖6,3d對象生成設(shè)備將網(wǎng)頁的結(jié)構(gòu)性元素劃分為特定數(shù)量的相等的四邊形網(wǎng)格元素(s502),沿著對角線方向連接各個劃分的四邊形網(wǎng)格元素的頂點,以及將連接的四邊形網(wǎng)格元素劃分為兩個三角形(s504)。
在執(zhí)行步驟s504之后,3d對象生成設(shè)備復(fù)制每一個四邊形網(wǎng)格元素,并且通過控制每一個四邊形網(wǎng)格元素的透明度以使得僅看見兩個四邊形的不同的三角形區(qū)來生成3d對象(s506)。
下面參照圖7描述通過3d對象生成設(shè)備生成3d對象的方法。3d對象生成設(shè)備將圖像600(諸如(a))等分為如(b)所示的四邊形形式的小網(wǎng)格(610)。然后,3d對象生成設(shè)備沿著對角線方向連接各個四邊形網(wǎng)格元素的頂點,并將連接的四邊形網(wǎng)格元素劃分為兩個三角形,如(c)所示。然后,如(d)所示,3d對象生成設(shè)備復(fù)制四邊形網(wǎng)格元素,并通過控制透明度以使得在第一四邊形630a中僅看見左上三角形區(qū)中的圖像而在第二四邊形630b中僅看見左下三角形區(qū)中的圖像來生成3d對象。
圖8是示出根據(jù)本發(fā)明的實施方式的通過3d對象生成設(shè)備生成變換的3d對象的方法的流程圖,圖9是根據(jù)本發(fā)明的實施方式的示出生成變換的3d對象的方法的畫面的示例性示圖。
參照圖8,3d對象生成設(shè)備存儲針對3d對象的網(wǎng)格元素的頂點坐標(biāo)值(s702)。
在執(zhí)行了步驟s702之后,當(dāng)在3d對象中輸入了對象操縱信號時(s704),3d對象生成設(shè)備響應(yīng)于對象操縱信號改變各個網(wǎng)格元素的頂點坐標(biāo)值(s706),并利用改變后的頂點坐標(biāo)值和存儲的頂點坐標(biāo)值生成網(wǎng)格元素的3d變換矩陣(s708)。
然后,3d對象生成設(shè)備通過將生成的3d變換矩陣應(yīng)用于預(yù)定的css變換來生成變換的3d對象(s710)。
下面參照圖9描述通過3d對象生成設(shè)備變換3d對象的方法。當(dāng)用戶諸如圖7的(d)地移動3d對象中的第一四邊形網(wǎng)格元素800a和第二四邊形網(wǎng)格元素800b時,如圖9的(a)所示,3d對象生成設(shè)備改變第一四邊形網(wǎng)格元素800a和第二四邊形網(wǎng)格元素800b的頂點坐標(biāo)值。然后,3d對象生成設(shè)備通過將如(b)所示的兩個變換的網(wǎng)格元素進(jìn)行組合來生成變換的3d對象810。這里,所述兩個四邊形網(wǎng)格元素可共享兩個頂點。
同時,根據(jù)本發(fā)明的另一方面,提供了一種電子裝置可讀記錄介質(zhì),其上以程序的形式記錄了生成3d對象的方法,該方法包括以下步驟:通過將網(wǎng)頁的結(jié)構(gòu)性元素等分為特定數(shù)量的四邊形網(wǎng)格來生成四邊形網(wǎng)格元素;沿對角線方向連接生成的四邊形網(wǎng)格元素的頂點,將連接的四邊形網(wǎng)格元素劃分為兩個三角形,復(fù)制四邊形網(wǎng)格元素,以及通過控制透明度以使得僅看見兩個四邊形的不同的三角形區(qū)來生成3d對象;當(dāng)在生成的3d對象中輸入對象操縱信號時,響應(yīng)于對象操縱信號改變每一個網(wǎng)格元素的頂點坐標(biāo)值,并且利用改變后的頂點坐標(biāo)值和改變之前的頂點坐標(biāo)值生成各個網(wǎng)格元素的3d變換矩陣;以及通過將生成的3d變換矩陣應(yīng)用于預(yù)定的css變換來生成變換的3d對象。
能夠以程序的形式寫入所述生成3d對象的方法,并且本領(lǐng)域熟練的程序員可容易地歸納出形成程序的代碼片斷和代碼塊。此外,關(guān)于生成3d對象的方法的程序可存儲在電子裝置可讀的介質(zhì)中,并且可被電子裝置讀出和執(zhí)行。
根據(jù)本發(fā)明,通過利用四邊形形式的四邊形作為基本元素來仿真三角形形式的多邊形,僅利用“旋轉(zhuǎn)”、“平移”和“縮放”(即,基本3d變換技術(shù))以及“扭曲”(即,2d變換技術(shù))可生成和操縱多邊形形式的3d對象。
此外,可利用移動裝置中能夠支持的css2d/3d變換技術(shù)實現(xiàn)諸如神奇效果、3d變形和翻頁效果這樣的效果,并且還能夠基于多邊形生成和操縱3d對象。
此外,在其中僅支持基本3d變換的有限的環(huán)境(例如,移動網(wǎng)絡(luò))中,基于具有特定形式的多邊形,可通過生成和操縱3d對象提供各種用戶界面和圖形效果。
此外,可通過基于網(wǎng)絡(luò)的元素的網(wǎng)格化生成基于多邊形的3d對象。
本發(fā)明也可應(yīng)用于用于生成3d對象的設(shè)備和方法,通過利用四邊形形式的四邊形作為基本元素仿真三角形形式的多邊形,所述設(shè)備和方法能夠僅利用“旋轉(zhuǎn)”、“平移”和“縮放”(即,基本3d變換技術(shù))以及“扭曲”(即,2d變換技術(shù))來生成和操縱多邊形形式的3d對象。
如上所述,本發(fā)明所屬領(lǐng)域的技術(shù)人員應(yīng)該理解在不脫離本發(fā)明的技術(shù)精神和主要特征的情況下,本發(fā)明可按照其它各種形式實施。因此,前述實施方式不應(yīng)理解為是限制性的,而應(yīng)在所有方面理解為是說明形式的。在權(quán)利要求而非具體實施方式中清楚地公開了本發(fā)明的范圍。應(yīng)該理解,本發(fā)明的含義和范圍衍生的所有修改形式和變形形式被包括在權(quán)利要求的范圍內(nèi)。
工業(yè)適用性
本發(fā)明的目的是通過利用四邊形形式的四邊形作為基本元素來仿真三角形形式的多邊形,僅利用“旋轉(zhuǎn)”、“平移”和“縮放”(即,基本3d變換技術(shù))以及“扭曲”(即,2d變換技術(shù))可生成和操縱多邊形形式的3d對象。