專利名稱:一種三維曲線的動畫展示方法和裝置的制作方法
技術領域:
本發(fā)明涉及廣播電視新媒體技術領域,尤其涉及一種三維曲線的動畫展示方法和
>J-U裝直。
背景技術:
目前在廣播電視新媒體領域,如演播室的互動播報,政府會議報告,以及博物館、科技館和展廳的互動展示等,大量的應用到數(shù)據(jù)、圖像等的三維呈現(xiàn)技術。由于硬件條件和軟件實現(xiàn)方法的差異,現(xiàn)有技術中如何更好的實現(xiàn)圖形、圖像、視頻、文檔等的三維呈現(xiàn),是 我們面臨的主要技術問題。
發(fā)明內容
本發(fā)明的目的是針對上述技術問題,提出一種三維曲線的動畫展示方法和裝置。采用本發(fā)明的技術方案,能夠綜合應用各種控件,將演播室的播報內容、博物館或科技館等展覽內容綜合直觀地呈現(xiàn)在觀眾面前,提供更好的視覺效果和用戶體驗。本發(fā)明主要思想在于基于微軟新一代圖形系統(tǒng)WPF (Windows PresentationFoundation)提供的新一代多媒體交互用戶圖形界面框架,通過WPF提供的統(tǒng)一編程模型、語言和框架,利用DirectX (Direct extension,微軟創(chuàng)建的多媒體編程接口)技術中硬件加速的功能來運行矢量圖形、圖像、視頻、文檔、三維界面和動畫等控件,使軟件界面能夠呈現(xiàn)三維效果,通過坐標軸、曲線節(jié)點和梯度曲線等三維模型對各種對象進行互動展現(xiàn),極大的增強視覺效果。本發(fā)明的技術方案通過旋轉坐標軸,拖動拉伸節(jié)點,切換曲線展示形態(tài)與應用形成全方位的互動,可以根據(jù)用戶數(shù)據(jù)的更新實時動態(tài)生成多條曲線,實現(xiàn)所見即所得的數(shù)據(jù)配置和軟件部署,在各個行業(yè)都有非常廣泛的應用。根據(jù)本發(fā)明的一方面,提供了一種三維曲線的動畫展示方法,包括步驟
A、初始化一個坐標系,確定所述坐標系的原點和刻度區(qū)間值,在所述坐標系上標注預置的不少于一個的數(shù)據(jù)點;
B、計算所述數(shù)據(jù)點之間的過渡連接點的坐標值,依次連接所述各過渡連接點,得到所述數(shù)據(jù)點之間的曲線連接線;
C、利用三維渲染引擎將所述曲線連接線渲染為位 D、預置線段表面的材質,設置所述數(shù)據(jù)點對應的紋理坐標,將所述材質映射到所述曲線連接線的三維立體模型網(wǎng)格的三角形上;
E、對所述動畫線段增加光源動畫。上述技術方案中,優(yōu)選地,所述坐標系是直角坐標系。上述技術方案中,優(yōu)選地,所述步驟B具體為利用如下公式計算過渡連接點坐標
值
y=(Y1/X1)*(n* Ax)+b其中,Y1/X1為起始數(shù)據(jù)點與過渡連接點相連接的直線的斜率,b為截距,n為橫坐標分為的段數(shù),每段步長是Ax。根據(jù)本發(fā)明的另一方面,還提供了一種三維曲線的動畫展示裝置,包括坐標系生成單元、曲線連接單元、連接線渲染單元、材質映射單元和光源單元,其中
所述坐標系生成單元,用于初始化一個坐標系,確定所述坐標系的原點和刻度區(qū)間值,在所述坐標系上標注預置的不少于一個的數(shù)據(jù)點;
所述曲線連接單元,用于計算所述數(shù)據(jù)點之間的過渡連接點的坐標值,依次連接所述各過渡連接點,得到所述數(shù)據(jù)點之間的曲線連接線;
所述連接線渲染單元,用于利用三維渲染引擎將所述曲線連接線渲染為位圖; 所述材質映射單元,用于預置線段表面的材質,設置所述數(shù)據(jù)點對應的紋理坐標,將所述材質映射到所述曲線連接線的三維立體模型網(wǎng)格的三角形上;
所述光源單元,用于對所述動畫線段增加光源動畫。本發(fā)明通過三維坐標系控制Y軸來展現(xiàn)曲線圖不同的角度,通過拖拽動態(tài)控制節(jié)點,利用動畫形式生成每一個曲線段,并通過渲染等技術手段使曲線段具備豐富的色彩、光澤、表面、材質等等外觀質感,以及巧妙而錯綜復雜的內部結構和時空動態(tài)的運動關系,在視覺表現(xiàn)上完全優(yōu)于二維界面,真正實現(xiàn)了三維取代二維、“立體”取代“平面”、“虛擬”模擬“現(xiàn)實”的展示,極大的提升了展示效果和用戶體驗。本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現(xiàn)和獲得。下面通過附圖和實施例,對本發(fā)明的技術方案做進一步的詳細描述。
附圖用來提供對本發(fā)明的進一步理解,并且構成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構成對本發(fā)明的限制。在附圖中
圖I是本發(fā)明三維曲線的動畫展示方法具體實施方式
的流程圖。圖2是本發(fā)明三維曲線的動畫展示方法具體實施方式
中坐標系生成示意圖。圖3是本發(fā)明三維曲線的動畫展示方法具體實施方式
中數(shù)據(jù)點標注示意圖。圖4是本發(fā)明三維曲線的動畫展示方法具體實施方式
中線段函數(shù)示意圖。圖5是本發(fā)明三維曲線的動畫展示方法具體實施方式
中曲線連接示意圖。圖6是本發(fā)明三維曲線的動畫展示方法具體實施方式
中三維界面實現(xiàn)示意圖。圖7是本發(fā)明三維曲線的動畫展示方法具體實施方式
中三維物體表面渲染示意圖。圖8是本發(fā)明三維曲線的動畫展示方法具體實施方式
中坐標映射示意圖。圖9是本發(fā)明三維曲線的動畫展示裝置具體實施方式
的結構示意圖。
具體實施例方式以下結合附圖對本發(fā)明的優(yōu)選實施例進行說明,應當理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明中的三維曲線的實現(xiàn)是使用WPF技術中的三維呈現(xiàn)技術實現(xiàn)三維曲線的動態(tài)呈現(xiàn),在本具體實施方式
中,要在直角坐標系中展示A、B、C和D四個數(shù)據(jù)點的三維動畫曲線連接過程,如圖I所示,具體包括以下步驟
步驟101、初始化一個坐標系,確定所述坐標系的原點和刻度區(qū)間值,在所述坐標系上標注預置的A、B、C和D四個數(shù)據(jù)點。具體來說,如圖2所示,首先要設置坐標系,為使數(shù)據(jù)的展示更加清晰直觀,該坐標系可以只設定顯示第一象限。根據(jù)用戶輸入的展示數(shù)據(jù)數(shù)值范圍,對坐標系進行初始化可以把數(shù)值轉換為X軸和Y軸上的坐標點。一般來講刻度區(qū)間值是一個衡量量即AX和A Y,起始坐標點為(0,0),刻度線的位置就可以通過刻度的個數(shù)和區(qū)間值計算出來。然后在所述坐標系上標注各數(shù)據(jù)點。根據(jù)數(shù)據(jù)點的橫坐標和縱坐標值,將各數(shù)據(jù)點在坐標系中標注出來。步驟102、利用下述公式計算所述數(shù)據(jù)點之間的過渡數(shù)據(jù)點的坐標值。
y=(Yl/Xl)*(n*Ax),其中,k為兩個數(shù)據(jù)點相連接的直線的斜率,b為截距,依次連接所述各過渡數(shù)據(jù)點。具體的說,如圖3所示,為了增加線段出現(xiàn)動畫,必須計算出A->B->C-D過程中經(jīng)歷過的所有點,一個個點的連接過程就實現(xiàn)了動畫連線。由于用戶輸入的數(shù)值只能轉化為A、B、C、D等這樣坐標系中孤立的點,畫出線段簡單說就是連接起點和終點,如A->B->C->D。不難看出,如圖4所示,每個數(shù)據(jù)點之間的線段都是由一次函數(shù)生成的,即y=kx+b。其中K是直線的斜率即tan 0,通過Y1/X1可以求得,因為線段從原點開始,b值為0,。如圖5所示,假設把從原點到A點的橫坐標分為n段(0_>A之間分為n個點),每段步長是Ax,則可以通過一次函數(shù)表達式y(tǒng)=(Yl/Xl)*(n* Ax)求出從原點到A點每段的縱坐標,這樣一條線段上的n個點的橫縱坐標都可以計算出來,接下來用連點函數(shù)按0->l->2->. . . n->A連接起來實現(xiàn)了線段動畫。設置計時器,連接好0->A的所有點后,用同樣方法實現(xiàn)A->B,B->C, C->D的線段動畫,至此一條完整的曲線邊生成完畢。步驟103、利用三維渲染引擎將所述曲線連接線渲染為位圖。如圖6所示,首先描述一下實現(xiàn)三維界面的基礎,生成三維圖形的基本思想是能得到一個物體的三維立體模型(Model)。由于我們的屏幕只有二維,因而我們定義了一個用于給物體拍照的照相機(Camera)。拍到的照片其實是物體到一個平坦表面的投影。這個投影由三維渲染引擎渲染成位圖。引擎通過計算所有光源對三維空間中物體的投影面反射的光量,來決定位圖中每個像素點的顏色。物體的每一個表面都有一種材質(Material)和一個畫刷(Brush)。材質定義了一個具體角度的光的反射量,而畫刷定義了表面的顏色。畫刷可以是一種單純的顏色,也可以是漸變的,甚至可以是一幅圖片,這些稱為紋理(Texture)。在三維圖形的世界里,因為三角形是用來描述平面最小的幾何體,所有物體都被描述成為一系列三角形的集合。在場景中,渲染引擎可以計算出每一個三角形的顏色,取決于它的材質和它與光線的角度。如圖7所不,三維物體的一個表面稱為一個網(wǎng)格(mesh)。一個網(wǎng)格被定義為許多三維點。這些點稱為頂點(vertices)。這些頂點通過環(huán)繞方式連接起來來形成三角形。每一個三角形有個正面和反面,只有正面才會被渲染。三角形的正面可以通過點的環(huán)繞順序來確定。WPF采用逆時針的環(huán)繞方式即右手定則。
步驟104、預置線段表面的材質,設置所述數(shù)據(jù)點對應的紋理坐標,將所述材質映射到所述動畫線段的三維立體模型網(wǎng)格的三角形上。一般來講,材質可以定義為一張圖,如前面講的坐標系在二維和三維度中不同,并且三角形的法線(右手定則)決定著可視面,如圖8所示,當材質映射到組成三維模型網(wǎng)格的三角形上時需要指定文理坐標,“I 0, 0 0, 0 I, I I”。也就是說,將A映射到PO,B映射到Pl,C映射到P2,D映射到P3。步驟105、對所述動畫線段增加光源動畫,具有不同材質貼圖的三維曲線圖就可以呈現(xiàn)出來。根據(jù)本發(fā)明的另一個方面,還提出了一種三維曲線的動畫展示裝置,如圖9所示,包括坐標系生成單元901、曲線連接單元902、連接線渲染單元903、材質映射單元904和光源單元905,其中
所述坐標系生成單元901,用于初始化一個坐標系,確定所述坐標系的原點和刻度區(qū)間值,在所述坐標系上標注預置的不少于一個的數(shù)據(jù)點;
所述曲線連接單元902,用于計算所述數(shù)據(jù)點之間的過渡連接點的坐標值,依次連接所述各過渡連接點,得到所述數(shù)據(jù)點之間的曲線連接線;
所述連接線渲染單元903,用于利用三維渲染引擎將所述曲線連接線渲染為位圖;所述材質映射單元904,用于預置線段表面的材質,設置所述數(shù)據(jù)點對應的紋理坐標,將所述材質映射到所述曲線連接線的三維立體模型網(wǎng)格的三角形上;
所述光源單元905,用于對所述動畫線段增加光源動畫。本領域普通技術人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。最后應說明的是以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,盡管參照前述實施例對本發(fā)明進行了詳細的說明,對于本領域的技術人員來說,其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種三維曲線的動畫展示方法,其特征在于,包括步驟 A、初始化一個坐標系,確定所述坐標系的原點和刻度區(qū)間值,在所述坐標系上標注預置的不少于一個的數(shù)據(jù)點; B、計算所述數(shù)據(jù)點之間的過渡連接點的坐標值,依次連接所述各過渡連接點,得到所述數(shù)據(jù)點之間的曲線連接線; C、利用三維渲染引擎將所述曲線連接線渲染為位圖; D、預置線段表面的材質,設置所述數(shù)據(jù)點對應的紋理坐標,將所述材質映射到所述曲線連接線的三維立體模型網(wǎng)格的三角形上; E、對所述動畫線段增加光源動畫。
2.如權利要求I所述的三維曲線的動畫展示方法,其特征在于,所述坐標系是直角坐標系。
3.如權利要求I所述的三維曲線的動畫展示方法,其特征在于,所述步驟B具體為利用如下公式計算過渡連接點坐標值y=(Y1/X1)*(n* Ax)+b 其中,Y1/X1為起始數(shù)據(jù)點與過渡連接點相連接的直線的斜率,b為截距,n為橫坐標分為的段數(shù),每段步長是Ax。
4.一種三維曲線的動畫展示裝置,其特征在于,包括坐標系生成單元、曲線連接單元、連接線渲染單元、材質映射單元和光源單元,其中 所述坐標系生成單元,用于初始化一個坐標系,確定所述坐標系的原點和刻度區(qū)間值,在所述坐標系上標注預置的不少于一個的數(shù)據(jù)點; 所述曲線連接單元,用于計算所述數(shù)據(jù)點之間的過渡連接點的坐標值,依次連接所述各過渡連接點,得到所述數(shù)據(jù)點之間的曲線連接線; 所述連接線渲染單元,用于利用三維渲染引擎將所述曲線連接線渲染為位圖; 所述材質映射單元,用于預置線段表面的材質,設置所述數(shù)據(jù)點對應的紋理坐標,將所述材質映射到所述曲線連接線的三維立體模型網(wǎng)格的三角形上; 所述光源單元,用于對所述動畫線段增加光源動畫。
全文摘要
本發(fā)明公開了一種三維曲線的動畫展示方法和裝置,其方法為初始化一個坐標系,確定所述坐標系的原點和刻度區(qū)間值,在所述坐標系上標注預置的不少于一個的數(shù)據(jù)點;計算所述數(shù)據(jù)點之間的過渡連接點的坐標值,依次連接所述各過渡連接點,得到所述數(shù)據(jù)點之間的曲線連接線;利用三維渲染引擎將所述曲線連接線渲染為位圖;預置線段表面的材質,設置所述數(shù)據(jù)點對應的紋理坐標,將所述材質映射到所述曲線連接線的三維立體模型網(wǎng)格的三角形上;對所述動畫線段增加光源動畫。本發(fā)明能夠有效將演播室的播報內容、博物館或科技館等展覽內容綜合直觀地呈現(xiàn)在觀眾面前,提供更好的視覺效果和用戶體驗。
文檔編號G06T13/20GK102800119SQ201210194088
公開日2012年11月28日 申請日期2012年6月13日 優(yōu)先權日2012年6月13日
發(fā)明者呼倫夫 申請人:天脈聚源(北京)傳媒科技有限公司