三維仿真翻頁方法及系統的製作方法
2023-06-10 22:31:21 6
三維仿真翻頁方法及系統的製作方法
【專利摘要】本發明涉及圖像處理【技術領域】,公開了一種三維仿真翻頁方法及系統,包括步驟:S1,根據用戶輸入的手勢確定翻頁方向、虛擬圓柱的中心線的投影位置和該虛擬圓柱的半徑;S2,將屏幕分為圓柱下方、圓柱表面和圓柱上方三個區域;S3,將圓柱表面區域平均分為與圓柱中心線平行的若干等分,並計算各等分線與屏幕邊界的交點;S4,將書頁水平圖片捲起貼在圓柱上,計算貼上後的頁面邊界點、圓柱表面區域各等分線與頁面邊界的交點的三維坐標;S5,調用三維繪圖引擎立體繪製計算過後的圖片數據。本發明可隨用戶輸入實時繪製三維翻頁效果,實現了真正的三維顯示,同時由於本發明模型簡單易用,減少了處理器資源佔用量,反應速度快,實時效果更理想。
【專利說明】三維仿真翻頁方法及系統
【技術領域】
[0001]本發明涉及圖像處理【技術領域】,特別涉及一種三維仿真翻頁方法及系統。
【背景技術】
[0002]電子設備的小型化便攜化改變了人們日常生活中的很多習慣,電子閱讀就是其中最明顯的一種改變。利用可攜式電子設備,人們不光可以瀏覽網頁、閱讀新聞,還可以在各種應用軟體的支持下閱讀電子書、翻閱電子雜誌或翻看電子相冊等,相對於厚重的紙質書物,電子閱讀為豐富人們的精神生活提供了極大的便利。雖然電子閱讀具有設備輕便、資源豐富等優勢,但也不少用戶表示電子閱讀方式缺少真實的質感,靜態閱讀單頁內容尚無太大問題,在閱讀多頁內容時存在動態顯示不理想、來回翻頁不便、頁邊界文字難以閱讀定位等問題,與真實的紙質書物閱讀存在較大的差異。
[0003]為了增強閱讀體驗,現有的電子閱讀軟體陸續採用了多種方式來動態顯示多頁內容,大體可分為以下幾種方式:
[0004]1.滾動式,即在屏幕顯示的頁面區域內通過上下或左右移動待顯示內容來進行多頁內容的銜接顯示;該方式處理設備計算量小,容易實現,但與實際閱讀情況差異大,且頁面內容位置經常變動,用戶閱讀定位困難,體驗較差。
[0005]2.漸變式,即採用漸變的方式將當前顯示內容從清晰切換到模糊效果、再從模糊效果切換到清晰的待顯示內容,由此完成頁面內容的切換;該方式同樣較易實現,有一定的模擬效果,但是由於頁面是整體切換,切換效果需要一定的顯示時間,快速翻頁或來回翻頁的效果並不理想。
[0006]3.二維仿真,即通過計算二維空間裡的曲線劃分不同的填充區域,隨後在各區域內分別填充不同的陰影效果和圖文效果來仿真顯示翻頁效果,常見的二維仿真翻頁效果如圖1所示;該方式比較接近真實的翻頁效果,但由於涉及到多個曲線和大量點的實時計算和渲染(較為簡化的典型算法如中國專利文獻CN101930340A中所公開),計算量較大、對響應速度有一定影響,此外,由於是在二維空間裡通過曲線的組合模擬顯示,其實際顯示效果距離現實尚有一定差距,尤其是邊界效果很難做到平滑自然。
【發明內容】
[0007]本發明所要解決的技術問題是如何提供快速自然的翻頁顯示效果。為解決該問題,一方面,本發明提供了一種三維仿真翻頁方法,該方法包括步驟:
[0008]SI,根據用戶輸入的手勢確定翻頁方向、虛擬圓柱的中心線的投影位置和該虛擬圓柱的半徑;
[0009]S2,根據虛擬圓柱的中心線的投影位置和該虛擬圓柱的半徑將屏幕分為圓柱下方、圓柱表面和圓柱上方三個區域;
[0010]S3,將圓柱表面區域平均分為與圓柱中心線平行的若干等分,並計算與各等分線與屏幕邊界的交點;
[0011]S4,將書頁的水平圖片模擬現實捲起貼在指定位置的圓柱上,通過數學計算計算出整個頁面貼上後的頁面邊界點、圓柱表面區域各等分線與頁面邊界的交點的三維坐標;
[0012]S5,調用三維繪圖引擎立體繪製計算過後的圖片數據。
[0013]優選地,若用戶輸入的手勢繼續在屏幕上滑動,則根據滑動後的新觸點實時重複上述步驟SI?S5實現動態顯示。
[0014]優選地,用戶停止輸入手勢,則根據停止時的觸點位置或根據停止前觸點滑動的速度和方向判定是否完成被翻動書頁的整體翻頁。
[0015]優選地,根據判定結果,在當前觸點和相應屏幕邊緣間繼續模擬出新的觸點並重複上述步驟SI?S5,直至被翻動書頁內容完全翻出或完全翻回屏幕顯示區域。
[0016]優選地,步驟SI中,所述確定包括步驟:
[0017]記錄手勢的第一次觸點P的位置,當手指移動時記錄移動後的第一個點的位置Q,根據向量PQ的方向和翻頁的區域,確定翻頁是左翻還是右翻;
[0018]如果左翻,獲取P點與屏幕左邊界的垂點P』,虛擬圓柱中心線的投影位置為P』 Q的中垂線;此外設虛擬圓柱半徑為默認值R,如果P』 Q的長度小於2R,則虛擬圓柱半逕取P』 Q長度的一半;如果P』 Q的長度大於等於2R,則虛擬圓柱半逕取R ;
[0019]如果右翻,獲取P點與屏幕右邊界的垂點P』,設虛擬圓柱半徑為默認值R,如果P』Q的長度小於2R,則存在點Q』,Q』滿足條件使QQ』長度等於2R、P』 Q』長度小於2R、且P』、Q、Q』三點在一條直線上,此時虛擬圓柱中心線的投影位置為QQ』的中垂線;如果P』Q的長度大於等於2R,虛擬圓柱中心線的投影位置為P』 Q的中垂線。
[0020]另一方面,本發明還同時提供一種三維仿真翻頁系統,該系統包括:
[0021]虛擬模塊,用於根據用戶輸入的手勢確定翻頁方向、虛擬圓柱的中心線的投影位置和該虛擬圓柱的半徑;
[0022]分屏模塊,用於根據虛擬圓柱的中心線的投影位置和該虛擬圓柱的半徑將屏幕分為圓柱下方、圓柱表面和圓柱上方三個區域;
[0023]書頁處理模塊,用於將圓柱表面區域平均分為與圓柱中心線平行的若干等分,並計算與屏幕邊界的交點;
[0024]貼圖模塊,用於將書頁的水平圖片模擬現實捲起貼在指定位置的圓柱上,通過數學計算計算出整個頁面貼上後的頁面邊界點、圓柱表面區域各等分線與頁面邊界的交點的三維坐標;
[0025]繪製模塊,用於調用三維繪圖弓I擎立體繪製計算過後的圖片數據。
[0026]優選地,所述系統還包括:
[0027]動態顯示模塊,用於在用戶輸入的手勢繼續在屏幕上滑動時,根據滑動後的新觸點實時重複處理以實現動態顯示。
[0028]優選地,所述系統還包括:
[0029]翻頁判定模塊,用於在用戶停止輸入手勢時,根據停止時的觸點位置或根據停止前觸點滑動的速度和方向判定是否完成被翻動書頁的整體翻頁。
[0030]優選地,所述翻頁判定模塊進一步包括:
[0031]整頁處理模塊,用於根據所述翻頁判定模塊的判定結果,在當前觸點和相應屏幕邊緣間繼續模擬出新的觸點並重複處理,直至被翻動書頁內容完全翻出或完全翻回屏幕顯示區域。
[0032]優選地,所述虛擬模塊中進一步包括:
[0033]翻頁方向確定模塊,用於記錄手勢的第一次觸點P的位置,當手指移動時記錄移動後的第一個點的位置Q,根據向量PQ的方向和翻頁的區域,確定翻頁是左翻還是右翻;
[0034]虛擬圓柱確定模塊,用於在左翻時,獲取P點與屏幕左邊界的垂點P』,虛擬圓柱中心線的投影位置為P』 Q的中垂線;此外設虛擬圓柱半徑默認值為R,如果P』 Q的長度小於2R,則虛擬圓柱半逕取P』 Q長度的一半;如果P』 Q的長度大於等於2R,則虛擬圓柱半逕取R ;
[0035]或者用於在右翻時,獲取P點與屏幕右邊界的垂點P』,設虛擬圓柱半徑默認值為R,如果P』 Q的長度小於2R,則存在點Q』,Q』滿足條件使QQ』長度等於2R、P』 Q』長度小於2R、且P』、Q、Q』三點在一條直線上,此時虛擬圓柱中心線的投影位置為QQ』的中垂線;如果P』 Q的長度大於等於2R,虛擬圓柱中心線的投影位置為P』 Q的中垂線。
[0036]本發明的技術方案提供了一種三維仿真翻頁方法及系統,可隨用戶輸入實時繪製三維翻頁效果,本發明實現了真正的三維顯示,可以給用戶更逼真的體驗,同時由於本發明模型簡單易用,減少了處理器資源佔用量,反應速度快,實時效果更理想。
【專利附圖】
【附圖說明】
[0037]圖1為現有技術中二維仿真翻頁的顯示效果圖;
[0038]圖2為本發明的一個實施例中三維仿真翻頁方法的流程圖;
[0039]圖3為本發明的一個實施例中三維仿真翻頁的顯示效果圖。
【具體實施方式】
[0040]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述。顯然,所描述的實施例為實施本發明的較佳實施方式,所述描述是以說明本發明的一般原則為目的,並非用以限定本發明的範圍。本發明的保護範圍應當以權利要求所界定者為準,基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
[0041]二維仿真的優點在於主要運算量由處理器完成,對設備的顯示器件沒有特別的要求,可以在絕大多數設備上實現。但同時,由於其是使用多條曲線模擬出三維效果,曲線的實時計算和渲染需要佔用較多的處理器資源,響應速度有限,且二維模擬的效果顯然距離真實觀感尚有一定差距。
[0042]考慮到二維仿真的上述缺陷,本發明採用三維仿真方式來顯示翻頁效果,在本發明優選的實施例中,利用三維的虛擬圓柱來輔助定位,將翻頁效果對應到虛擬圓柱上的不同區域,隨後直接調用三維繪圖引擎進行圖像的動態計算和繪製。由於現有的行動裝置有很大一部分已包含3D處理晶片或至少具有3D加速模塊,採用本發明的方式,處理器只需要根據觸點實時計算虛擬圓柱中心線及相關區域位置,三維的計算和處理利用現有三維繪圖引擎優化處理,不再佔用大量處理器資源,明顯降低了處理器計算量,在獲得更為逼真的顯示效果的同時提高了反應速度。
[0043]具體地,如圖2所示,本發明一個優選的實施例中,三維仿真翻頁方法包括以下步驟:
[0044]SI,根據用戶輸入的手勢確定翻頁方向、虛擬圓柱的中心線的投影位置和該虛擬圓柱的半徑;
[0045]S2,根據虛擬圓柱的中心線的投影位置和該虛擬圓柱的半徑將屏幕分為圓柱下方、圓柱表面和圓柱上方三個區域;
[0046]S3,將圓柱表面區域平均分為與圓柱中心線平行的若干等分,並計算各等分線與屏幕邊界的交點;
[0047]S4,將書頁的水平圖片模擬現實捲起貼在指定位置的圓柱上,通過數學計算計算出整個頁面貼上後的頁面邊界點、圓柱表面區域各等分線與頁面邊界的交點的三維坐標;
[0048]S5,調用三維繪圖引擎立體繪製計算過後的圖片數據。
[0049]根據上述方法,本發明可以實時繪製用戶輸入的手勢滑動到當前觸點時的三維翻頁效果,其顯示效果如圖3所示。其中,翻頁的方向由用戶輸入的手勢的起始位置和滑動方向確定,翻頁的內容根據翻頁方向和用戶設定確定。比如,從右向左翻頁通常為翻下一頁,圓柱下方、圓柱表面和圓柱上方三個區域的貼圖分別為下一頁內容、當前頁背面和當前頁內容;從左向右翻頁通常為翻上一頁,圓柱下方、圓柱表面和圓柱上方三個區域的貼圖分別為當前頁內容、上一頁背面和上一頁內容。
[0050]更具體地,步驟SI中確定方式為:
[0051]記錄手勢的第一次觸點P的位置,當手指移動時記錄移動後的第一個點的位置Q,根據向量PQ的方向和翻頁的區域,確定翻頁是左翻還是右翻;
[0052]如果左翻,獲取P點與屏幕左邊界的垂點P』,虛擬圓柱中心線的投影位置為P』 Q的中垂線;此外設虛擬圓柱半徑默認值為R,如果P』 Q的長度小於2R,則虛擬圓柱半逕取P』 Q長度的一半;如果P』 Q的長度大於等於2R,則虛擬圓柱半逕取R ;
[0053]如果右翻,獲取P點與屏幕右邊界的垂點P』,設虛擬圓柱半徑默認值為R,如果QQ的長度小於2R,則存在點Q』,Q』滿足條件使QQ』長度等於2R、P』 Q』長度小於2R、且P』、Q、Q』三點在一條直線上,此時虛擬圓柱中心線的投影位置為P』Q』的中垂線;如果P』Q的長度大於等於2R,虛擬圓柱中心線的投影位置為P』 Q的中垂線。
[0054]若用戶輸入的手勢繼續在屏幕上滑動(向各個方向均可),則根據滑動後的新觸點實時重複上述步驟SI?S5實現動態顯示。若用戶停止輸入手勢(指用戶輸入消失,比如手指離開屏幕;手指保持接觸屏幕而不滑動視為繼續輸入手勢),則根據停止時的觸點位置或根據停止前觸點滑動的速度和方向判定是否完成被翻動書頁的整體翻頁。例如,當從右向左翻頁時,若停止時觸點位置位於屏幕中心線左側,則判定完成整體翻頁;反之則不完成整體翻頁。又或者,當從右向左翻頁時,若停止前觸點加速向左側滑動,則判定完成整體翻頁;若停止前觸點加速向右側滑動,則不完成整體翻頁。
[0055]當判定完成整體翻頁時,在當前觸點和翻頁方向的屏幕邊緣間繼續模擬出新的觸點重複上述步驟SI?S5,直至被翻動書頁內容完全翻出屏幕顯示區域,屏幕中僅顯示下一書頁內容並重新準備接收用戶輸入的手勢。當判定不完成整體翻頁時,在當前觸點和翻頁返回方向的屏幕邊緣間繼續模擬出新的觸點重複上述步驟SI?S5,直至被翻動書頁內容完全翻回屏幕顯示區域,重新準備接收用戶輸入的手勢。
[0056]優選地,步驟S3中將圓柱表面區域十等分。步驟S5中,根據步驟S3中的各等分線及其與屏幕邊界的交點裁切書頁的水平圖片,隨後根據步驟S4中得到的三維坐標將裁切後的水平圖片對應貼附在虛擬圓柱的三維表面上進行繪製。雖然上述實施例中以用戶手指在手機觸控螢幕上滑動輸入為最優選方式;在步驟S5中,三維繪圖引擎優選為OPENGL。但本領域普通技術人員可以理解,本發明的實施方式並不僅限於此,事實上本發明可應用於任何具備顯示能力且能接收用戶輸入的計算設備,而任何與設備作業系統相匹配的三維圖形處理弓I擎也均可應用於本發明中,上述優選實施例不應理解為對本發明實施方式的限制。
[0057]此外,實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,所述的程序可以存儲於一計算機可讀取存儲介質中,該程序在執行時,包括上述實施例方法的各步驟,而所述的存儲介質可以是:R0M/RAM、磁碟、光碟、存儲卡等。因此,與上述方法相對應的,本發明還同時提供一種三維仿真翻頁系統,包括:
[0058]虛擬模塊,用於根據用戶輸入的手勢確定翻頁方向、虛擬圓柱的中心線的投影位置和該虛擬圓柱的半徑;
[0059]分屏模塊,用於根據虛擬圓柱的中心線的投影位置和該虛擬圓柱的半徑將屏幕分為圓柱下方、圓柱表面和圓柱上方三個區域;
[0060]書頁處理模塊,用於將圓柱表面區域平均分為與圓柱中心線平行的若干等分,並計算與屏幕邊界的交點;
[0061]貼圖模塊,用於將書頁的水平圖片模擬現實捲起貼在指定位置的圓柱上,通過數學計算計算出整個頁面貼上後的頁面邊界點、圓柱表面區域各等分線與頁面邊界的交點的三維坐標;
[0062]繪製模塊,用於調用三維繪圖弓I擎立體繪製計算過後的圖片數據。
[0063]本發明的技術方案提供了一種三維仿真翻頁方法及系統,可隨用戶輸入實時繪製三維翻頁效果,本發明實現了真正的三維顯示,可以給用戶更逼真的體驗,同時由於本發明模型簡單易用,減少了處理器資源佔用量,反應速度快,實時效果更理想。
[0064]雖然以上結合優選實施例對本發明進行了描述,但本領域的技術人員應該理解,本發明所述的方法和系統並不限於【具體實施方式】中所述的實施例,在不背離由所附權利要求書限定的本發明精神和範圍的情況下,可對本發明作出各種修改、增加、以及替換。
【權利要求】
1.一種三維仿真翻頁方法,其特徵在於,所述方法包括步驟: Si,根據用戶輸入的手勢確定翻頁方向、虛擬圓柱的中心線的投影位置和該虛擬圓柱的半徑; S2,根據虛擬圓柱的中心線的投影位置和該虛擬圓柱的半徑將屏幕分為圓柱下方、圓柱表面和圓柱上方三個區域; S3,將圓柱表面區域平均分為與圓柱中心線平行的若干等分,並計算與各等分線與屏幕邊界的交點; S4,將書頁的水平圖片模擬現實捲起貼在指定位置的圓柱上,通過數學計算計算出整個頁面貼上後的頁面邊界點、圓柱表面區域各等分線與頁面邊界的交點的三維坐標; S5,調用三維繪圖引擎立體繪製計算過後的圖片數據。
2.根據權利要求1所述的方法,其特徵在於,若用戶輸入的手勢繼續在屏幕上滑動,則根據滑動後的新觸點實時重複上述步驟SI?S5實現動態顯示。
3.根據權利要求1所述的方法,其特徵在於,用戶停止輸入手勢,則根據停止時的觸點位置或根據停止前觸點滑動的速度和方向判定是否完成被翻動書頁的整體翻頁。
4.根據權利要求3所述的方法,其特徵在於,根據判定結果,在當前觸點和相應屏幕邊緣間繼續模擬出新的觸點並重複上述步驟SI?S5,直至被翻動書頁內容完全翻出或完全翻回屏幕顯示區域。
5.根據權利要求1所述的方法,其特徵在於,步驟SI中,所述確定包括步驟: 記錄手勢的第一次觸點P的位置,當手指移動時記錄移動後的第一個點的位置Q,根據向量PQ的方向和翻頁的區域,確定翻頁是左翻還是右翻; 如果左翻,獲取P點與屏幕左邊界的垂點P』,虛擬圓柱中心線的投影位置為P』 Q的中垂線;此外設虛擬圓柱半徑為默認值R,如果P』 Q的長度小於2R,則虛擬圓柱半逕取P』 Q長度的一半;如果P』 Q的長度大於等於2R,則虛擬圓柱半逕取R ; 如果右翻,獲取P點與屏幕右邊界的垂點P』,設虛擬圓柱半徑為默認值R,如果P』 Q的長度小於2R,則存在點Q』,Q』滿足條件使QQ』長度等於2R、P』 Q』長度小於2R、且P』、Q、Q』三點在一條直線上,此時虛擬圓柱中心線的投影位置為QQ』的中垂線;如果P』Q的長度大於等於2R,虛擬圓柱中心線的投影位置為P』 Q的中垂線。
6.一種三維仿真翻頁系統,其特徵在於,所述系統包括: 虛擬模塊,用於根據用戶輸入的手勢確定翻頁方向、虛擬圓柱的中心線的投影位置和該虛擬圓柱的半徑; 分屏模塊,用於根據虛擬圓柱的中心線的投影位置和該虛擬圓柱的半徑將屏幕分為圓柱下方、圓柱表面和圓柱上方三個區域; 書頁處理模塊,用於將圓柱表面區域平均分為與圓柱中心線平行的若干等分,並計算與屏幕邊界的交點; 貼圖模塊,用於將書頁的水平圖片模擬現實捲起貼在指定位置的圓柱上,通過數學計算計算出整個頁面貼上後的頁面邊界點、圓柱表面區域各等分線與頁面邊界的交點的三維坐標; 繪製模塊,用於調用三維繪圖引擎立體繪製計算過後的圖片數據。
7.根據權利要求6所述的系統,其特徵在於,所述系統還包括: 動態顯示模塊,用於在用戶輸入的手勢繼續在屏幕上滑動時,根據滑動後的新觸點實時重複處理以實現動態顯示。
8.根據權利要求6所述的系統,其特徵在於,所述系統還包括: 翻頁判定模塊,用於在用戶停止輸入手勢時,根據停止時的觸點位置或根據停止前觸點滑動的速度和方向判定是否完成被翻動書頁的整體翻頁。
9.根據權利要求8所述的系統,其特徵在於,所述翻頁判定模塊進一步包括: 整頁處理模塊,用於根據所述翻頁判定模塊的判定結果,在當前觸點和相應屏幕邊緣間繼續模擬出新的觸點並重複處理,直至被翻動書頁內容完全翻出或完全翻回屏幕顯示區域。
10.根據權利要求6所述的系統,其特徵在於,所述虛擬模塊中進一步包括: 翻頁方向確定模塊,用於記錄手勢的第一次觸點P的位置,當手指移動時記錄移動後的第一個點的位置Q,根據向量PQ的方向和翻頁的區域,確定翻頁是左翻還是右翻; 虛擬圓柱確定模塊,用於在左翻時,獲取P點與屏幕左邊界的垂點P』,虛擬圓柱中心線的投影位置為P』 Q的中垂線;此外設虛擬圓柱半徑默認值為R,如果P』 Q的長度小於2R,則虛擬圓柱半逕取P』 Q長度的一半;如果P』 Q的長度大於等於2R,則虛擬圓柱半逕取R ; 或者用於在右翻時,獲取P點與屏幕右邊界的垂點P』,設虛擬圓柱半徑默認值為R,如果P』 Q的長度小於2R,則存在點Q』,Q』滿足條件使QQ』長度等於2R、P』 Q』長度小於2R、且P』、Q、Q』三點在一條直線上,此時虛擬圓柱中心線的投影位置為QQ』的中垂線;如果P』Q的長度大於等於2R,虛擬圓柱中心線的投影位置為P』 Q的中垂線。
【文檔編號】G06F3/0488GK104346046SQ201310336586
【公開日】2015年2月11日 申請日期:2013年8月5日 優先權日:2013年8月5日
【發明者】李忠強 申請人:北京易天新動網絡科技有限公司