• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Android平臺的工程圖學助教助學系統(tǒng)研究與實現(xiàn)

      2017-01-19 02:30:36邱龍輝
      圖學學報 2016年6期
      關鍵詞:法線工程圖數(shù)組

      邱龍輝

      (青島科技大學機電工程學院,山東 青島 266061)

      基于Android平臺的工程圖學助教助學系統(tǒng)研究與實現(xiàn)

      邱龍輝

      (青島科技大學機電工程學院,山東 青島 266061)

      針對空間想象能力培養(yǎng)的教學需要,對基于Android平臺的工程圖學助教助學系統(tǒng)進行了研究。根據(jù)教與學的需要,確定了系統(tǒng)功能,設計了軟件的框架結構。分析研究了移動設備的系統(tǒng)平臺,選擇了系統(tǒng)的開發(fā)及運行平臺。通過分析Android框架中OpenGL ES的設計接口,實現(xiàn)了模型的軸測顯示模式。通過分析OpenGL ES中glDrawElements方法的數(shù)據(jù)需求和VRML97的數(shù)據(jù)格式,設計了虛擬模型加載器,實現(xiàn)了Android系統(tǒng)中的VRML模型3D瀏覽器。開發(fā)了軟件的核心功能模塊,設計實現(xiàn)了基于Android平臺的工程圖學助教助學系統(tǒng)。該系統(tǒng)因其創(chuàng)新性和實用性,在2014年第十四屆全國多媒體課件大賽中榮獲一等獎。

      工程圖學;移動設備;教學;安卓系統(tǒng);應用軟件

      工程教育要求培養(yǎng)學生的空間想象能力和圖形表達技術,工程圖學課程在高等教育中承擔了這個任務。但空間想象能力培養(yǎng)歷來都是一個難題,國內外對此都做了大量的工作[1-8]:從傳統(tǒng)的實物模型制圖訓練,到軸測圖繪圖訓練,再到個人電腦中的3D模型動畫、3D CAD模型、虛擬模型等。這些工作都證實了在學習的過程提供直觀的立體模型對培養(yǎng)空間想象能力有很好的效果。但從教學實踐結果看,這些方法都沒有能夠滿足培養(yǎng)學生空間想象能力的教學需要。分析原因,主要是由于沒有解決使用上的便利性問題,即在學習過程中隨時隨地的提供教學內容的模型。

      模型使用的便利性是首先需要解決的問題。讓模型不管是在課堂上,還是在自習室、食堂、宿舍都能隨時隨地的拿來使用。同時,空間想象能力的提高是一個持續(xù)不斷、循序漸進的過程,所以軟件的開發(fā)目的是為學生提供一個在提高空間能力的學習過程中,持續(xù)不斷的學習輔助工具。

      1 助教助學軟件系統(tǒng)設計

      如圖1所示,根據(jù)教學需要明確了系統(tǒng)需要實現(xiàn)的助教助學功能,以此為目標設計確定了軟件的 4個基本功能模塊和每個模塊的關鍵功能,以4個基本功能模塊為基礎實現(xiàn)了對助教助學功能的支撐。助教助學系統(tǒng)的組成見圖 1。系統(tǒng)包含4個部分:VRML模型3D瀏覽器、平面圖形瀏覽器、系統(tǒng)資源庫和文件管理器。其中為了幫助學生想象立體的投影結果,同時為了方便由物畫圖時測量尺寸,系統(tǒng)的虛擬模型應實現(xiàn)軸測模式的顯示。

      圖1 軟件系統(tǒng)設計

      2 移動設備特性和系統(tǒng)開發(fā)運行平臺

      智能手機的普及為實現(xiàn)上述教學需求提供了可能。移動設備最典型的特性即是其便攜性,能夠支持移動設備在不確定的場所實現(xiàn)許多原來在固定場所才能夠完成的工作?;诖?,現(xiàn)在越來越多的各種有移動需求的工作在移動設備平臺上得以實施,如移動辦公、移動支付、移動學習。移動學習作為在移動設備幫助下在任何時間、任何地點能夠實現(xiàn)的學習方式與本文開發(fā)軟件的目標高度一致。

      目前移動設備的系統(tǒng)平臺主要包括Android、iOS等。其中 iOS是蘋果公司為智能手機 iPhone開發(fā)的專用系統(tǒng);Android系統(tǒng)是 Google公司基于Linux開發(fā)的開源系統(tǒng),被智能手機廠商廣泛采用,在學生中普及度最高。本軟件設計選擇了Android系統(tǒng)智能手機作為開發(fā)和運行平臺,采用VRML97格式作為模型數(shù)據(jù)載體,平面圖形使用通用的圖片格式。

      Android平臺目前沒有可用的 VRML97格式的虛擬模型瀏覽器,系統(tǒng)開發(fā)需要完成一個3D瀏覽器的設計。在Android系統(tǒng)中設計3D瀏覽器,需要用到OpenGL ES。OpenGL ES是由OpenGL簡化得到的專門用于移動設備的一個跨平臺的,功能完善的 2D和 3D圖形應用程序接口 API。Android系統(tǒng)支持3個版本的OpenGL ES:1.0、2.0和 3.0,但三者并不是兼容的升級版本,1.0為固定渲染管線,而2.0和3.0為可編程渲染管線。后兩個對硬件要求較高,不是每個手機都支持OpenGL ES 2.0和3.0,從性能需求和兼容性考慮,系統(tǒng)采用了OpenGL ES 1.0。

      助教助學系統(tǒng)與 Android應用框架和庫之間的相互關系如圖2所示。

      圖2 系統(tǒng)與Android應用框架&庫的相互關系

      3 Android中虛擬模型視圖的定義和軸測顯示方式的實現(xiàn)

      助教助學系統(tǒng)為學生展現(xiàn)投影與視圖的對應關系,需要設置正投影的顯示模式,以滿足教學的需要。將3D模型顯示為軸測投影的形式,好處有:①可以直觀顯示某個投影方向的圖形,與視圖可以直接對應;②可以直接度量尺寸,進行畫圖訓練。

      Android框架提供了使用OpenGL ES開發(fā)的基礎類GLSurfaceView和GLSurfaceView.Renderer。其中GLSurfaceView是將OpenGL ES封裝成的表面視圖。GLSurfaceView.Renderer是Android封裝的 OpenGL ES渲染器接口,定義了在GLSurfaceView中繪制OpenGL ES圖形需要的3個接口函數(shù) onSurfaceCreated、onDrawFrame、onSurfaceChanged。在Android中定義虛擬模型窗口主要是完成表面視圖布局的設置、渲染器接口類的設計和 GLSurfaceView類的實例化和與渲染器接口類的綁定。

      其中渲染器接口類 implements系統(tǒng)的接口GLSurfaceView.Renderer,在其中完成了相應的視圖顯示工作。投影模式設計在該類中實現(xiàn)。OpenGL ES在渲染流水線中提供了透視投影和正交投影兩種投影類型,實際上是使用一個 4×4的正交投影變換矩陣與上一級渲染管線的矩陣相乘。這個矩陣是由一個平行視景體的6個參數(shù)確定(圖3)。視景體的近裁剪平面是一個由三維坐標(left,top,near)和(right,bottom,near)確定的矩形;遠裁剪平面則由(left,top,far)和(right,bottom,far)確定。其中包含了left、right、bottom、top、near、far 6個參數(shù),由此可以獲得從視點坐標(eye Coordinates)到規(guī)范化設備坐標系(normalized device coordinates)的變換矩陣(圖4)。在OpenGL ES中實現(xiàn)矩陣變換的是glOrthof函數(shù),其格式如下:

      void glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near, GLfloat far)

      圖3 正交視景體

      圖4 正交投影矩陣

      在系統(tǒng)中應根據(jù)智能手機的屏幕特點設置參數(shù),即有:left=-wight/2;right=wight/2;top=height/2;bottom=-height/2;near=0.1f;far=1000f。其中,wight為手機屏幕寬;height為手機屏幕高。

      其java實現(xiàn)代碼如下:

      gl.glOrthof(-wight/2, wight/2, -height/2, height/2, 0.1f, 1000.0f)

      4 虛擬模型加載器(VRML Loader)的設計

      4.1 VRML數(shù)據(jù)格式分析

      系統(tǒng)中的模型數(shù)據(jù)都是使用VRML97標準中的 IndexFaceSet 節(jié) 點 描 述 的[9]。 通 過IndexedFaceSet節(jié)點中4個域:coord、coordIndex、normal和normalIndex。其中coord域和coordIndex域用來描述點坐標與平面的對應關系。coord域是點坐標域,在其域值中通過形如“x y z,”的MFVec3f類型數(shù)據(jù)列表描述坐標,z坐標后的逗號為不同點坐標的分隔符。coordIndex域是平面索引域,其域值是形如“P1, P2, P3, -1”的MFInt32類型數(shù)據(jù)列表,用來描述哪些點組成一個平面,其中“-1”表示當前平面頂點索引的結尾。normal域和normalIndex域用來描述法線矢量和平面頂點的對應關系。normal域是法線矢量域,其域值通過形如“x y z,”的 MFVec3f類型數(shù)據(jù)列表描述法線。normalIndex域是面片頂點的法線索引域,是形如“N1, N2, N3, -1”的MFInt32類型數(shù)據(jù)列表,其中“-1”表示當前平面法線索引的結尾。IndexFaceSet節(jié)點中,coordIndex域和normalIndex域的域值數(shù)量是相同的,各為k個。

      4.2 OpenGL ES繪圖方法分析

      OpenGL ES[10]提供了頂點數(shù)組的方式繪制空間幾何圖形,并且提供了兩種方法:glDrawArrays()和 glDrawElements()。這兩種方法都使用VerticesBuffer(頂 點 緩 沖 )繪 制 , 區(qū) 別 是glDrawArrays()方法繪 制 時頂點的 順 序由VerticesBuffer中的順序確定,而glDrawElements()方法繪制時頂點的順序由IndicesBuffer(索引緩沖)確定。所以,繪圖時這兩種方法都要先定義VeticesBuffer,然后通過一定的方法建立空間幾何圖形的頂點數(shù)組數(shù)據(jù),并使用 put()方法將頂點數(shù)組置于VerticesBuffer中。glDrawElements()方法還需要再定義一個 IndicesBuffer用于存放頂點索引數(shù)據(jù)。兩個方法都需要定義NormalsBuffer(法線緩沖),因為只有設置了法線,光源才能在所繪物體上出現(xiàn)光照效果。但由于OpenGL ES中沒有法線索引,所以 NormalsBuffer中的法線值需要與IndicesBuffer中的點一一對應。在使用中glDrawArrays()要求把需要繪制面片的每個頂點全部按順序整理,需要消耗較多資源,所以設計中選擇了glDrawElements()方法。

      4.3 加載器的設計

      據(jù)4.2節(jié)的分析,使用glDrawElements()方法需要的數(shù)據(jù)包括:頂點的坐標一維數(shù)組(x, y, z)、頂點組成面片的索引一維數(shù)組、頂點的法線一維數(shù)組(Nx, Ny, Nz)。

      由 4.1節(jié)分析可知,VRML的數(shù)據(jù)格式與glDrawElements()方法需要的格式不同,因此VRML中 IndexFaceSet節(jié)點不能夠直接讀入并存儲進 VerticesBuffer,需要設計加載器進行文件解析。VRML加載器邏輯如圖5所示。

      圖5 VRML加載器邏輯

      glDrawElements()方法需要頂點的坐標數(shù)據(jù)(x, y, z)、頂點索引和對應的法線矢量數(shù)據(jù)(Nx, Ny, Nz),且所需的數(shù)據(jù)均為一維數(shù)組。而VRML的數(shù)據(jù)格式近似于二維數(shù)組,需要完成數(shù)組的轉換。在VRML中頂點的坐標數(shù)據(jù)和法線數(shù)據(jù)是通過坐標索引和法線索引實現(xiàn)一一對應的,而在OpenGL ES的數(shù)組中法線是通過坐標索引的順序與頂點一一對應的,也就是說第一個坐標索引指定一個坐標后,第一個法線矢量則與該坐標對應。也就是說,加載器中需要將法線矢量數(shù)據(jù)根據(jù)VRML中的normalIndex域和coordIndex域重新整理成為一維數(shù)組。

      因此加載器首先要完成 4.1節(jié)中所述IndexedFaceSet類 4個域中域值的統(tǒng)計。因coordIndex域和 normalIndex域的域值數(shù)量是相同,僅統(tǒng)計 coordIndex域即可。隨后再完成域中域值數(shù)據(jù)的讀取,將相關的坐標和索引數(shù)據(jù)整理成為一維數(shù)組,并利用索引對應關系,法線數(shù)據(jù)整理成為與索引一一對應的順序,并存儲為一維數(shù)組。

      5 軟件教學實例

      圖6是系統(tǒng)的運行效果,設備為三星GT-I9220智能手機,CPU主頻1 433 MHz,運行內存1 GB,屏幕分辨率800×1280,操作系統(tǒng)為Android 4.1.2。

      觸屏交互控制的3D虛擬模型應可以使用手指觸摸智能手機屏幕控制,變換任意角度觀察,好像手中拿了一個真正的模型,極具現(xiàn)場感和真實感;學生可以目測模型的尺寸比例繪圖,也可以使用直尺測量模型尺寸,按尺寸繪圖。軟件解決了課堂教學模型使用方面限制,填補了課堂教學模型使用的空白。

      圖6 運行效果

      圖 7是在課堂講授機件常用表達方案綜合應用時,首先安排學生觀察模型,自行分析機件、思考表達方案后,再一起分析、討論,讓學生獲得充分的思考,掌握選擇表達方案的原則和方法。圖 8是使用軟件模型完成表達方法繪圖訓練時學生在測量模型尺寸。

      圖7 教學案例1

      圖8 教學案例2

      6 結 論

      基于智能手機的工程圖學助教助學軟件基于安卓系統(tǒng)開發(fā)主要嘗試了 3個方面的工作:①將移動學習工具引入到了工程圖學課內、外學習的全過程,將課堂中知識的單向傳遞變?yōu)閷χR的共同挖掘;②將模型庫分布到每一個學生手中,使學生真正成為教學過程的參與者,不再是被動的接受者;③移動學習工具引入圖學課程,給學生提供一個沒有時間空間限制、靈活、方便、開拓思維、具有高科技感的練習平臺,使學生對課程更有興趣,對學習更有興趣,對知識更有興趣。軟件因其創(chuàng)新性和實用性,在2014年第十四屆全國多媒體課件大賽中榮獲一等獎。

      基于智能手機的學習模式還有很大的發(fā)展空間,下一步可以在交互功能方面進一步開展研究,進一步完善系統(tǒng)功能,在圖學課程的教學中獲得更好的效果。

      [1] Devon R, Engle R S, Foster R J, et al. The effect of solid modelling software on 3D visualization skills [J]. Engineering Design Graphics Journal, 1994, 58(1): 4-11.

      [2] Dejong P S. Improving visualization: fact or fiction? [J]. Engineering Design Graphics Journal, 1977, 41(1): 47-53.

      [3] Lord T R. Enhancing the visuo-spatial aptitude of students [J]. Journal of Research in Science Teaching, 1985, 22(5): 395-405.

      [4] Wiley S E. Computer graphics and the development of visual perception in engineering graphics curricula [J]. Engineering Design Graphics Journal, 1990, 54(2): 30-35.

      [5] 葉 琳. 機械制圖虛擬現(xiàn)實網絡模型室的建立[J]. 工程圖學學報, 2002, 23(3): 202-206.

      [6] 馮桂珍, 池建斌, 王大鳴, 等. 基于Web的機械制圖虛擬模型庫的構建[J]. 工程圖學學報, 2008, 29(6): 149-153.

      [7] 李慶華. 基于 CATIA的工程圖學三維模型庫的開發(fā)[J]. 機械設計與制造, 2005, (3): 68-69.

      [8] 趙國霞, 臧貽娟. 基于Pro/ENGINEER的《工程圖學》模型庫系統(tǒng)的開發(fā)[J]. 機電工程技術, 2010, 39(6): 83-85, 156.

      [9] International Organization for Standardization. ISO/IEC 14772-1:1997, The virtual reality modeling language (VRML)-part 1: functional specification and UTF-8 encoding [S]. Switzerland: International Organization for Standardization, 1997.

      [10] Khronos Group. OpenGL ES 1.1 Reference [DB/OL]. (2008-04-24) [2016-03-26]. https://www.khronos.org/ opengles/sdk/1.1/docs/man/.

      Design and Develop for the APP of Engineering Graphics Base on Android

      Qiu Longhui
      (College of Electromechanical Engineering, Qingdao University of Science and Technology, Qingdao Shandong 266061, China)

      The design for APP of engineering graphics is discussed, for the teaching needs to develop of spatial imagination ability of undergraduate. Base on the needs of teaching and study, the functions are made sure that aided teaching and assisted learning of system, and the basic function of software is designed. The frame structure of software is designed. The comparison of the mobile device system platform, choose development and operation platform of the system. Through the analysis of interface of Android framework, the orthographic view is designed. Through the analysis of and data needs of the glDrawElements, and VRML97 data format, the VRML loader is designed. The 3D browser of VRML model is designed on the Android system. And the core function of software is developed. The APP of engineering graphics is realized based on Android platform. The software has characteristic of innovation and practicability, and get the first prize in the 14thnational multimedia courseware contest.

      engineering graphics; mobile devices; education; Android; application

      TP 391

      10.11996/JG.j.2095-302X.2016060831

      A

      2095-302X(2016)06-0831-05

      2016-03-27;定稿日期:2016-05-29

      山東省精品課程建設項目(魯教高字2004-14-150410058);青島科技大學精品課程建設項目(青科大字2004-139)

      邱龍輝(1973-),男,黑龍江雞西人,副教授,碩士。主要研究方向為工程圖學、計算機圖形學、虛擬現(xiàn)實技術、嵌入式系統(tǒng)開發(fā)等。E-mail:qiulhqd@163.com

      猜你喜歡
      法線工程圖數(shù)組
      基于定位法線的工件自由度判定方法及應用
      JAVA稀疏矩陣算法
      電腦報(2022年13期)2022-04-12 00:32:38
      “3+4”人才培養(yǎng)模式下本科階段“工程圖學”課程的優(yōu)化設計
      JAVA玩轉數(shù)學之二維數(shù)組排序
      電腦報(2020年24期)2020-07-15 06:12:41
      面向工程認證的機制專業(yè)工程圖學(一)課程教學探索
      分析三維CAD建模技術在工程圖學中的應用
      電子測試(2018年10期)2018-06-26 05:54:22
      橢圓法線定理的逆定理
      雙曲螺線的副法線曲面的相關性質研究*
      尋找勾股數(shù)組的歷程
      項目式教學在工程圖學課程中的探索與實踐
      弋阳县| 台前县| 苍梧县| 宿松县| 密云县| 华安县| 富阳市| 莫力| 商丘市| 靖江市| 高尔夫| 报价| 门头沟区| 东港市| 政和县| 镇康县| 湾仔区| 新泰市| 隆化县| 武乡县| 南乐县| 获嘉县| 勃利县| 晴隆县| 张家港市| 筠连县| 吴旗县| 玉屏| 曲阳县| 九江市| 永仁县| 黄骅市| 苍南县| 将乐县| 长乐市| 塔河县| 太保市| 鹤山市| 彩票| 宁武县| 城固县|