專利名稱:手持移動終端的數(shù)字時間3d顯示方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動設(shè)備上數(shù)字時間的顯示,尤其涉及一種手持移動終端的數(shù)字時間3D顯示方法。
背景技術(shù):
隨著android的迅速發(fā)展,在android上的應(yīng)用越來越豐富,很多應(yīng)用中實現(xiàn)了絢麗的3D界面,包括顯示的數(shù)字時間。目前市場上所出現(xiàn)的的3D時間顯示為主要有兩種第一種、利用平面圖片,實現(xiàn)3D的感覺,即在2D背景圖中添加(數(shù)字文本),或者將每個數(shù)字做成圖片,將數(shù)字圖片放置到指定布局位置,實現(xiàn)3D效果感覺。這方式,基本可以確定是偽3D,靈活性,空間感比較差,隨著技術(shù)的進一步發(fā)展,逐漸淘汰。 第二種、利用android的OPENGL ES接口實現(xiàn)一個3D場景,將數(shù)字圖片置于3D場景中,由于3D場景有比較好的的空間感,技術(shù)上已經(jīng)比第一種(普通的2D時間效果)更有進步,空間感更強,通過放置圖片的朝向,以及在場景中于觀察點的距離遠(yuǎn)近燈,能很好的實現(xiàn)3D效果。但是本質(zhì)上,時間的顯示不是真實的3D物件。數(shù)字如果旋轉(zhuǎn)或者偏斜(改變觀察方向),即能看出不是真實的3d時間數(shù)字。(注0penGL(全寫Open Graphics Library)是個定義了一個跨編程語言、跨平臺的編程接口的規(guī)格,它用于三維圖象(二維的亦可)。OpenGL是個專業(yè)的圖形程序接口,是一個功能強大,調(diào)用方便的底層圖形庫。目前在android上集成的是OpenGL ES(OpenGL for Embedded Sys tems),OpenGL三維圖形 API 的子集,針對手機、PDA和游戲主機等嵌入式設(shè)備而設(shè)計。最新版本為OpenGL ES 2.0。)現(xiàn)在技術(shù)實現(xiàn)的時間顯示,最重要的部分,由于時間本身是一張圖片或者文本,在場景移動或者觀察點變化的情況下,能看出不是真實的3d物件構(gòu)成的時間顯示。
發(fā)明內(nèi)容
本發(fā)明要解決的主要技術(shù)問題是,提供一種手持移動終端的數(shù)字時間3D顯示方法,其可實現(xiàn)通過各種角度看到時間是真實的3d效果,提高顯示品質(zhì)及人機互動性。為解決上述技術(shù)問題,本發(fā)明提供一種手持移動終端的數(shù)字時間3D顯示方法,在該手持移動終端中設(shè)置加速度傳感器和/或陀螺儀傳感器,且手持移動終端依據(jù)所述加速度傳感器和/或所述陀螺儀傳感器的位置數(shù)據(jù)的變化情況對應(yīng)變換所顯示的圖像。還包括所述對應(yīng)圖像的建立過程和系統(tǒng)當(dāng)前時間獲取過程。所述對應(yīng)圖像的建立過程為先建立顯示圖元的3D模型并將每個模型保存成相應(yīng)的模型文件;然后使用系統(tǒng)用于建立3D場景和渲染的類,新建一個基于opengl es的3D場景;最后加載模型文件,并解析讀取其要素信息,按照opengl參數(shù)要求,賦值保存起來。手持移動終端的數(shù)字時間3D顯示方法,具體包括以下步驟獲取系統(tǒng)當(dāng)前的時間,根據(jù)時針分針分別調(diào)用四個模型;獲取所述加速度傳感器和/或陀螺儀傳感器的位置數(shù)據(jù)的變化情況,計算出移動設(shè)備左右上下的偏移值,從而計算出模型相對觀察點的角度以及距離;啟動含有3D界面的進程,對象(時針分針)依據(jù)所述計算結(jié)果載入顯示對應(yīng)的3D場景顯不。實施時,所述顯示圖元包括數(shù)字0至9。實施時,所述要素信息包括頂點信息、面信息和顏色信息。實施時,所述opengl參數(shù)要求包括場景設(shè)置的采樣率和觀察點位置。實施時,所述根據(jù)時針分針分別 調(diào)用四個模型時,模型可重復(fù)調(diào)用。模型可重復(fù)調(diào)用指同一個模型可在一個場景中使用兩次的意思,不是固有屬性和特定的實現(xiàn)方式,在內(nèi)存中使用同一個對象。實施時,所述顯示圖元的3D模型為通過3D max建立。實施時,所述系統(tǒng)為android系統(tǒng)。實施時,所述手持移動終端為手機。本發(fā)明的有益效果是一種手持移動終端的數(shù)字時間3D顯示方法,其依據(jù)加速度傳感器的值或陀螺儀傳感器的位置數(shù)據(jù)對應(yīng)調(diào)整所顯示圖像,可實現(xiàn)偏轉(zhuǎn)移動終端在各種角度可看到時間呈現(xiàn)出真實的3D效果,并且手持移動終端使用過程中顯示屏相對于用戶眼睛的位置變化主要是手臂晃動產(chǎn)生,因此該方案能有效提高顯示品質(zhì)及人機互動性;對于手持移動終端,CPU、內(nèi)存以及屏幕大小受限,結(jié)合加速度傳感器或陀螺儀傳感器,具有較好的適用性。進一步的,本發(fā)明與以前的方案相比,最主要的地方在于使用了真實的3d數(shù)字模型,模型通過第三方工具制作而成,便利、可重復(fù)使用,同時更好修改,能更容易滿足設(shè)計的需求。
圖I為本發(fā)明一種實施例的流程示意圖。
具體實施例方式下面通過具體實施方式
結(jié)合附圖對本發(fā)明作進一步詳細(xì)說明。一種手持移動終端的數(shù)字時間3D顯示方法,在該手持移動終端中設(shè)置加速度傳感器和/或陀螺儀傳感器,且手持移動終端依據(jù)所述加速度傳感器的位置數(shù)據(jù)和/或所述陀螺儀傳感器的位置數(shù)據(jù)的變化情況對應(yīng)變換所顯示的圖像。所述加速度傳感器和陀螺儀傳感器均為位置傳感器。還包括所述對應(yīng)圖像的建立過程和系統(tǒng)當(dāng)前時間獲取過程。所述對應(yīng)圖像即前述變換所顯示的圖像時候可能要用到的所有圖像。對于所述對應(yīng)圖像的建立過程,可以是直接對整個顯示圖像為單位進行建立,也可以是以顯示圖像中可能獨立變化的部分為單位進行所有顯示圖元的建立。對于顯示圖元的情況,在顯示過程中為對應(yīng)變換圖片的構(gòu)成要素(顯示圖元顯示圖像的構(gòu)成要素。)所述對應(yīng)圖像的建立過程可為先建立顯示圖元的3D模型并將每個模型保存成相應(yīng)的模型文件;然后使用系統(tǒng)用于建立3D場景和渲染的類,新建一個基于opengl es的3D場景;最后加載模型文件,并解析讀取其要素信息,按照opengl參數(shù)要求,賦值保存起來。所述一個模型文件中包括有一個顯示圖元在各個角度所呈現(xiàn)的所有圖像。
手持移動終端的數(shù)字時間3D顯示方法,具體可包括以下步驟獲取系統(tǒng)當(dāng)前的時間,根據(jù)時針分針分別調(diào)用四個模型;獲取所述加速度傳感器和/或陀螺儀傳感器的位置數(shù)據(jù)的變化情況(可以是相對于上一時間點的變化情況,也可以是相對于后文所述初始位置的變化情況),計算出移動設(shè)備左右上下的偏移值,從而計算出模型相對觀察點的角度以及距離;啟動含有3D界面的進程,對象依據(jù)所述計算結(jié)果載入顯示對應(yīng)的3D場景。所述顯示圖元可包括數(shù)字0至9。所述要素信息可包括頂點信息、面信息和顏色信息;所述opengl參數(shù)要求可包括場景設(shè)置的采樣率和觀察點位置。具體的,如圖I所示一種手持移動終端的數(shù)字時間3D顯示方法實施例,以其在android中實現(xiàn)該方案為例,步驟為步驟S01、使用3d max或者類似的工具,做0到9的九個數(shù)字模型,并將每個模型 保存成相應(yīng)的模型文件。步驟S02、使用 android 的 GLSurfaceView&GLRender 類(android用于建立 3d場景和值染的類),新建一個3d場景,GLSurfaceView&GLRender即基于opengl es (全寫OpenGLfor Embedded Systems屬于嵌入式3D圖形算法標(biāo)準(zhǔn))。步驟S03、加載3d max做成的模型文件,解析讀取要素信息(如頂點信息,面信息,顏色信息等),按照opengl參數(shù)要求(比如給場景設(shè)置采樣率,觀察點位置),賦值保存起來。(opengl,全寫Open Graphics Library,屬于高性能圖形算法行業(yè)標(biāo)準(zhǔn))步驟S04、獲取系統(tǒng)當(dāng)前的時間,根據(jù)時針分針(時、分各有兩位數(shù)字)分別調(diào)用四個模型,模型可重復(fù)調(diào)用;(模型可重復(fù)調(diào)用,指同一個模型可在一個場景中使用兩次的意思,或說在內(nèi)存中使用同一個對象);步驟S05、獲取android的g-sensor (加速度傳感器)的值,計算出目前手機左右上下的偏移角度值,從而計算出模型相對觀察點的角度以及距離等(模型對象的位置)。步驟S06、啟動含有3D界面的Activity (進程),搖晃手機能看到3d時間呈現(xiàn)不同角度(依據(jù)所述計算結(jié)果改變圖像顯示)。即所述時針分針根據(jù)計算結(jié)果,選擇角度對應(yīng)的四個模型。這樣,在使用過程中,當(dāng)手持移動終端的顯示屏相對于初始位置發(fā)生角度或位置的改變,時針分針則改變顯示圖像所呈現(xiàn)的角度,從而使用戶感覺到顯示屏內(nèi)部有一個真實的時鐘實體。實施時,還包括步驟S09、位置改變返回步驟S05。即,位置改變引起步驟S05中加速度傳感器的值或陀螺儀傳感器的位置數(shù)據(jù)發(fā)生改變;對于位置改變的監(jiān)測實時進行。實施時,還包括步驟S08、時間改變返回步驟S04。即,步驟S04獲取系統(tǒng)當(dāng)前的時間為實時進行,當(dāng)時間不變,步驟S06中僅依據(jù)手機搖晃(加速度傳感器的值或陀螺儀傳感器的位置數(shù)據(jù))情況改變顯示(圖像呈現(xiàn)的角度)。當(dāng)時間改變,在即時顯示的基礎(chǔ)上直接改變顯示的圖像。實施時,依據(jù)用戶操作,還具有步驟S07應(yīng)用程序退出。實施時,模型文件是3dmax文件可用pc上的工具生成以外,其他的比如創(chuàng)建場景的類,以及感應(yīng)器的使用等都是android系統(tǒng)的調(diào)用以及組合。實施時,時間的數(shù)字模型,通過其它專業(yè)的3D制圖工具完成(生成3ds格式文件)。呈現(xiàn)3D時間的地方可以是鎖屏界面,待機界面,任何可以獨立啟動一個視圖,或者可以建立一個3D場景的地方。3D模型的位置,可以使用G-sensor也可使用陀螺儀傳感器的位置數(shù)據(jù)或者兩者數(shù)據(jù)結(jié)合計算產(chǎn)生。例如使用G-sensor時,場景中時間3D模型的位置的是根據(jù)G-sensor的左右及其前后偏移值,計算出來。在手持移動終端工作過程中,有確定一個初始位置的過程(該位置可以是3D進程啟動時定義、開機時候定義或者通過用戶設(shè)置定義),對應(yīng)該初始位置加速度傳感器的值和/或陀螺儀傳感器進行數(shù)據(jù)采集以供后續(xù)計算偏移值。同時,還設(shè)置有個觀察點定義規(guī)則,例如可以定義觀察點為初始位置顯示屏正中心上方30厘米處,當(dāng)手持移動終端相對初始位置發(fā)生角度偏轉(zhuǎn)和/或位置變化,觀察點始終不變的(觀察點還是最初定義的空間中那一點,與后續(xù)手機的顯示屏位置無關(guān))。根據(jù)觀察點定義規(guī)則,在手持移動終端位置變化后,使顯示屏上的圖像相應(yīng)發(fā)生變化〈相當(dāng)于顯示屏內(nèi)有一個立體的時鐘,當(dāng)手持移動終端發(fā)送晃動,則顯示圖片(模型)改變使用戶看到的為立體的時鐘的對應(yīng) 角度圖像;在一些顯示情況(如設(shè)備的配置較低),若只針對角度偏轉(zhuǎn)而不考慮位置變化時,則相當(dāng)于立體的時鐘朝向顯示屏正中心上方的圖像保持不變〉。以手持移動終端中僅設(shè)置加速度傳感器為例,從G-sensor傳遞出來的值(如左右搖晃時),xy的值介于-9. 8-9. 8變化(豎直放置時xy都為零,模型與我們的視線成正交直角),當(dāng)判斷X或者y方向上變化的位置(x2_xl或y2_yl)超過一定值如0. 2時,我們會給這個點的x,y值除以一個因數(shù)(比如0. 3),使左右晃動的數(shù)字模型角度介于-32. 67-32. 67度之間(剛好能在我們的屏幕可視區(qū)域中),最終這個值會傳遞到場景中用于模型旋轉(zhuǎn)到這個角度(分別是相對X軸和y軸旋轉(zhuǎn))。實施時,手持移動終端可以是手機、平板電腦、PDA等等握持在手中使用的移動終端。在使用中,手持移動終端的視角變化也主要是因手掌晃動產(chǎn)生,結(jié)合加速度傳感器或陀螺儀傳感器,具有較好的適用性。本發(fā)明方案,轉(zhuǎn)用到其他的圖像顯示也可以實現(xiàn),比如像3D游戲、操作界面顯示等等,對應(yīng)的界面可以由很多模型組成。在android手機(或其它手持移動終端)上由于受到內(nèi)存以及屏幕大小、cpu等等的限制,本發(fā)明的方案相對其它現(xiàn)有方案具有在小尺寸顯示屏顯示時,占用內(nèi)存及CPU較少的優(yōu)點。在android平臺上手持移動終端上的時間數(shù)字顯示,具有最佳的應(yīng)用效果。本發(fā)明方法,如果在windows中實現(xiàn),需要用其他的方法創(chuàng)建3d場景,對應(yīng)前述實施例中使用到的是android系統(tǒng)的api,在wimdows中則也可以使用opengl。以上內(nèi)容是結(jié)合具體的實施方式對本發(fā)明所作的進一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護范圍。
權(quán)利要求
1.一種手持移動終端的數(shù)字時間3D顯示方法,其特征在于,在該手持移動終端中設(shè)置加速度傳感器和/或陀螺儀傳感器,且手持移動終端依據(jù)所述加速度傳感器和/或所述陀螺儀傳感器的位置數(shù)據(jù)的變化情況對應(yīng)變換所顯示的圖像。
2.如權(quán)利要求I所述的手持移動終端的數(shù)字時間3D顯示方法,其特征在于,還包括所述對應(yīng)圖像的建立過程和系統(tǒng)當(dāng)前時間獲取過程。
3.如權(quán)利要求2所述的手持移動終端的數(shù)字時間3D顯示方法,其特征在于,所述對應(yīng)圖像的建立過程為先建立顯示圖元的3D模型并將每個模型保存成相應(yīng)的模型文件;然后使用系統(tǒng)用于建立3D場景和渲染的類,新建一個基于opengl es的3D場景;最后加載模型文件,并解析讀取其要素信息,按照opengl參數(shù)要求,賦值保存起來。
4.如權(quán)利要求3所述的手持移動終端的數(shù)字時間3D顯示方法,其特征在于,具體包括以下步驟 獲取系統(tǒng)當(dāng)前的時間,根據(jù)時針分針分別調(diào)用四個模型; 獲取所述加速度傳感器和/或陀螺儀傳感器的位置數(shù)據(jù)的變化情況,計算出移動設(shè)備左右上下的偏移值,從而計算出模型相對觀察點的角度以及距離; 啟動含有3D界面的進程,對象依據(jù)所述計算結(jié)果載入顯示對應(yīng)的3D場景。
5.如權(quán)利要求3或4所述的手持移動終端的數(shù)字時間3D顯示方法,其特征在于,所述顯示圖元包括數(shù)字0至9。
6.如權(quán)利要求3或4所述的手持移動終端的數(shù)字時間3D顯示方法,其特征在于,所述要素信息包括頂點信息、面信息和顏色信息;所述opengl參數(shù)要求包括場景設(shè)置的采樣率和觀察點位置。
7.如權(quán)利要求3或4所述的手持移動終端的數(shù)字時間3D顯示方法,其特征在于,所述顯示圖元的3D模型為通過3D max建立。
8.如權(quán)利要求4所述的手持移動終端的數(shù)字時間3D顯示方法,其特征在于,所述根據(jù)時針分針分別調(diào)用四個模型時,模型可重復(fù)調(diào)用。
9.如權(quán)利要求4所述的手持移動終端的數(shù)字時間3D顯示方法,其特征在于,所述系統(tǒng)為android系統(tǒng)。
10.如權(quán)利要求I至4任一項所述的手持移動終端的數(shù)字時間3D顯示方法,其特征在于,所述手持移動終端為手機。
全文摘要
本發(fā)明公開了一種手持移動終端的數(shù)字時間3D顯示方法,應(yīng)用于移動設(shè)備,其依據(jù)加速度傳感器和/或陀螺儀傳感器的位置數(shù)據(jù)對應(yīng)調(diào)整顯示圖像,可實現(xiàn)偏轉(zhuǎn)移動終端在各種角度可看到時間呈現(xiàn)出真實的3D效果,提高顯示品質(zhì)及人機互動性;對于手持移動終端,其cpu、內(nèi)存以及屏幕大小受限,在使用中,視角變化也主要是因手掌晃動產(chǎn)生,結(jié)合加速度傳感器和/或陀螺儀傳感器,具有較好的適用性。
文檔編號G06F9/44GK102681849SQ20121013768
公開日2012年9月19日 申請日期2012年5月7日 優(yōu)先權(quán)日2012年5月7日
發(fā)明者不公告發(fā)明人 申請人:禹芙蓉