• 
    

    
    

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

      面向“互聯(lián)網(wǎng)+”的3D數(shù)字化產(chǎn)品移動端可視化研究

      2018-11-19 10:59:00黃良強丁國富
      軟件導(dǎo)刊 2018年11期
      關(guān)鍵詞:紋理可視化數(shù)字化

      黃良強,朱 焱,丁國富

      (1.西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,四川 成都 611756; 2.西南交通大學(xué) 機械工程學(xué)院先進設(shè)計與制造技術(shù)研究所,四川 成都 610031)

      0 引言

      2015年7月4日,《國務(wù)院關(guān)于積極推進“互聯(lián)網(wǎng)+”行動的指導(dǎo)意見》發(fā)布,要求將互聯(lián)網(wǎng)的創(chuàng)新成果與經(jīng)濟社會各領(lǐng)域深度融合,進一步促進社會發(fā)展[1]?!盎ヂ?lián)網(wǎng)+”意味著“互聯(lián)網(wǎng)+各個傳統(tǒng)行業(yè)”,但這并不是簡單的兩者相加,而是利用信息通信技術(shù)以及互聯(lián)網(wǎng)平臺,讓互聯(lián)網(wǎng)與傳統(tǒng)行業(yè)進行深度融合[2],充分發(fā)揮互聯(lián)網(wǎng)在生產(chǎn)要素配置中的優(yōu)化和集成作用,提升實體經(jīng)濟的創(chuàng)新力和生產(chǎn)力,形成更廣泛的以互聯(lián)網(wǎng)為基礎(chǔ)設(shè)施和實現(xiàn)工具的經(jīng)濟發(fā)展新形態(tài)[3]。

      在傳統(tǒng)制造業(yè)標(biāo)準(zhǔn)化、規(guī)?;a(chǎn)模式下,企業(yè)往往會以產(chǎn)品定銷售,而消費者需求往往難以預(yù)估。隨著信息化、個性化時代到來,產(chǎn)品設(shè)計服務(wù)提供方及時準(zhǔn)確獲悉用戶的產(chǎn)品需求,設(shè)計出相符的產(chǎn)品,讓用戶及時便捷地查看設(shè)計樣品,提出進一步的優(yōu)化需求,以實現(xiàn)更加精準(zhǔn)的個性化服務(wù)。如圖1所示,面向互聯(lián)網(wǎng)+的產(chǎn)品數(shù)字化設(shè)計與制造服務(wù)平臺就是這樣一種能架構(gòu)起產(chǎn)品需求方與產(chǎn)品設(shè)計服務(wù)提供方的橋梁。

      “互聯(lián)網(wǎng)+”和云平臺軟件即服務(wù)(SaaS)技術(shù),把一系列可共享的軟件資源放置在云端,用戶可隨時使用移動終端設(shè)備訪問云平臺中的軟件資源,查看設(shè)計的產(chǎn)品是否滿足需求,并實時根據(jù)需求查看、設(shè)計、修改3D數(shù)字化產(chǎn)品模型,加速資源共享,實現(xiàn)資源利用最大化。本文研發(fā)內(nèi)容作為該平臺的子模塊之一,以“互聯(lián)網(wǎng)+制造業(yè)”為背景,對3D數(shù)字化產(chǎn)品移動端可視化進行研究。

      圖1 平臺架構(gòu)

      隨著智能手機的普及,設(shè)計師可利用移動端(手機、平板電腦等移動智能設(shè)備)進行3D數(shù)字化產(chǎn)品設(shè)計研發(fā)工作。本文研發(fā)成果可不受設(shè)備、時間、地點等條件限制,實現(xiàn)多角度、3D立體觀察數(shù)字化產(chǎn)品模型,便于用戶提出修改意見,方便設(shè)計師和客戶交互,提高研發(fā)效率。

      安卓占據(jù)智能手機銷量的87.2%[5],因此,本文的研發(fā)工作基于Android OS的智能手機平臺。

      1 3D數(shù)字化產(chǎn)品模型

      1.1 OBJ文件

      3D模型可使用多種文件格式表達,如STL、OBJ、MAX等。OBJ格式表達的3D模型是一種標(biāo)準(zhǔn)的3D模型文件,由于OBJ文件適用于不同文件格式的3D模型之間互導(dǎo),且當(dāng)前大多數(shù)3D繪圖軟件都支持OBJ格式的讀、寫等操作,因此可利用OBJ文件模型作為基礎(chǔ)模型,把不同文件格式的3D模型轉(zhuǎn)化為OBJ文件,最后利用移動端可視化技術(shù)對其進行可視化操作。OBJ文件是一種文本文件,可直接用寫字板、Word等文本編輯工具進行查看和修改,因此本文的可視化研發(fā)工作基于OBJ文件。

      1.2 OBJ數(shù)據(jù)解析

      OBJ支持多種幾何圖形,包括直線(Line)、表面(Surface)、多邊形(Polygon)和自由形態(tài)曲線(Free-form Curve),主要特點有:

      (1)它是一種3D模型的骨架性文件,包含模型在3D空間中的幾何信息,但不包含動畫、材質(zhì)特性、貼圖、貼圖路徑等信息。

      (2)支持法線和貼圖坐標(biāo)。

      (3)不包含面的顏色定義信息,但可以引用材質(zhì)庫,材質(zhì)庫信息儲存在后綴為".mtl"的獨立材質(zhì)庫文件中。

      1.3 OBJ文件結(jié)構(gòu)

      OBJ是文本格式,每行由標(biāo)識字母也即關(guān)鍵字打頭,關(guān)鍵字標(biāo)識該行數(shù)據(jù)所表示的含義,注釋行以符號‘#’開始。

      OBJ格式的3D刀具模型文件內(nèi)容如下:

      # 創(chuàng)建時間:11.10.2017 14:50:59

      mtllib D10-3.mtl

      v 2.6327-47.00001.4383

      v 1.5514-48.00001.2622

      ……

      vn -0.9698 0.0782-0.2310

      vn -0.7450 0.0894-0.6611

      ……

      vt -1.4181 0.1396-0.0000

      vt -1.3700 0.0000-0.0000

      ……

      s 1

      f1/1/1 2/2/2 3/3/1

      f4/4/3 5/5/4 6/6/3

      其中,第2行mtllib表示使用與OBJ文件配套的材質(zhì)庫,v表示幾何頂點 (Geometic Vertices),vn表示頂點法線(Vertex Normals)。

      1.4 MTL文件

      MTL材質(zhì)庫文件包含材質(zhì)漫反射、環(huán)境、光澤的RGB定義值,以及折射、透明度等其它特征。MTL文件也是一種文本文件,每一行數(shù)據(jù)由關(guān)鍵字開始。

      3D刀具模型材質(zhì)庫文件內(nèi)容如下:

      #創(chuàng)建時間:11.102017 14:50:59

      newmtl wire_008110135

      Ns 32

      d 1

      Tr 0

      Tf 1 1 1

      illum 2

      Ka 0.0314 0.4314 0.5294

      Kd 0.0314 0.4314 0.5294

      Ka 0.3500 0.3500 0.3500

      關(guān)鍵字newmtl表示定義新的材質(zhì)組,Ns表示材質(zhì)光亮度,illum表示材質(zhì)照明度,Kd表示材質(zhì)散射參數(shù)。

      2 3D模型渲染

      2.1 OpenGL ES與jPCT-AE圖形引擎

      OpenGL(Open Graphics Library)本身是高效、簡潔的開放圖形庫接口,它定義了一個跨編程語言、跨平臺的編程接口規(guī)范,主要用于3D模型編程,但在智能手機等手持移動終端上運行OpenGL有些不適合,所以Android系統(tǒng)內(nèi)置的是OpenGL ES[6]。Android提供了GLSurfaceView組件支持OpenGL ES,這個組件本身并不提供3D模型繪制功能,而是GLSurfaceView.Renderer實例化來完成GLSurfaceView中3D模型的繪制工作[7]。

      jPCT-AE是基于OpenGL ES技術(shù)開發(fā)的3D圖形引擎,以Java語言為基礎(chǔ)。jPCT-AE擁有以下幾個重要特征[8]:①支持加載3DS、OBJ、MD2、ASC等序列化的3D模型文件格式;②可支持3D模型文件渲染到紋理;③支持Android1.5及更高版本上的OpenGL ES1.x和OpenGL ES 2.0;④支持內(nèi)存壓縮,可減輕3D模型渲染對內(nèi)存空間造成的壓力。因此,本文選擇OpenGL ES和jPCT-AE技術(shù)作為移動端3D模型可視化應(yīng)用研發(fā)的技術(shù)支持。

      2.2 3D模型繪制

      構(gòu)建一個3D模型需要完成3個步驟:

      (1)jPCT-AE引擎提供的圖形構(gòu)建方法定義為Loader.loadOBJ,加載OBJ格式的3D模型文件和MTL文件到一個Object3D對象數(shù)組中。

      (2)借助Object3D.mergeAll方法合并Object3D對象數(shù)組中的所有對象,構(gòu)成一個完整的OBJ格式3D模型對象。

      (3)調(diào)用函數(shù)方法Object3D.build完成OBJ格式的3D模型構(gòu)建工作。

      紋理貼圖可讓3D模型更加逼真。在OpenGL ES中,onSurfaceCreated方法用于啟用紋理貼圖,它屬于Renderer類,本文結(jié)合使用jPCT-AE技術(shù)中的TextureManager實現(xiàn)。

      應(yīng)用于紋理貼圖的圖片格式可以是BMP、PNG以及JPG。使用Bitmap decodeFile方法加載圖片,并可使用gl.glGenTextures方法生成對應(yīng)的紋理貼圖。此外,也可使用jPCT-AE技術(shù)中Texture類的對象生成對應(yīng)的紋理貼圖。

      通過調(diào)用OpenGL ES提供的啟用貼圖坐標(biāo)數(shù)組數(shù)據(jù)、設(shè)置貼圖的坐標(biāo)數(shù)據(jù)以及執(zhí)行紋理貼圖3個方法完成3D模型的紋理貼圖工作。

      3 可視化模塊實現(xiàn)

      本文研發(fā)的OBJ格式的3D模型可視化模塊包括3D模型放大、縮小、旋轉(zhuǎn)等操作,采用Android Touch事件驅(qū)動方式實現(xiàn)。

      基于OBJ格式的3D模型可視化流程如圖2所示。

      (1)放大縮小。在Android應(yīng)用開發(fā)中可結(jié)合使用多點觸摸操作技術(shù)和OpenGL ES 3D圖形構(gòu)建方法實現(xiàn)3D模型放大、縮小操作。手指多點觸摸需處理ACTION_POINTER_DOWN與ACTION_POINTER_UP兩種活動行為,并根據(jù)計算兩根手指移動的距離等數(shù)據(jù)實時觸發(fā)3D模型渲染工作。

      (2)旋轉(zhuǎn)。同放大、縮小使用的原理不同,這里需要處理單點觸摸操作,處理過程為當(dāng)按下手指時獲取手指的觸摸坐標(biāo)點,在手指移動過程中使用單點操作的MotionEvent.ACTION_MOVE活動行為,處理手指移動的距離和方向等信息,并根據(jù)計算獲得的數(shù)據(jù)實時觸發(fā)3D模型渲染工作。

      圖2 OBJ格式的3D模型可視化流程

      可視化旋轉(zhuǎn)操作。圖3展示了3D刀具模型旋轉(zhuǎn)前的效果,圖4展示了3D刀具模型旋轉(zhuǎn)后的效果,旋轉(zhuǎn)操作包括左右旋轉(zhuǎn)、上下旋轉(zhuǎn)。

      圖3 旋轉(zhuǎn)前

      圖4 旋轉(zhuǎn)后

      可視化放大、縮小操作。圖5展示了圖3的3D刀具模型縮小操作效果,圖6展示了放大之后的模型效果。

      圖5 縮小

      圖6 放大

      4 與云平臺結(jié)合

      本文設(shè)計研發(fā)的應(yīng)用軟件可與研究背景中提到的云平臺系統(tǒng)集成使用,如圖1所示,把移動端后臺服務(wù)器、數(shù)據(jù)庫服務(wù)器放置在云端。云平臺服務(wù)器提供用戶數(shù)據(jù)的存儲、讀寫等功能,用戶可通過移動終端設(shè)備與后臺云服務(wù)器進行通信。

      本文研發(fā)的應(yīng)用軟件結(jié)合使用云平臺技術(shù),主要提供用戶下載服務(wù)器上的3D模型文件功能,具體操作流程如圖7所示。

      圖7 3D模型文件下載

      用戶登錄后,通過HTTP網(wǎng)絡(luò)協(xié)議向服務(wù)器發(fā)送數(shù)據(jù)下載請求,下載服務(wù)器上的3D模型文件。3D模型文件大小從幾百KB到幾MB不等,為提升軟件性能,該模塊把3D模型文件下載到移動設(shè)備的本地存儲系統(tǒng)中,作為緩存文件使用。3D模型文件下載完畢后,調(diào)用本地OBJ格式3D模型可視化功能,進行3D模型文件可視化展示與操作。

      5 結(jié)語

      本文作為“面向互聯(lián)網(wǎng)+的產(chǎn)品數(shù)字化設(shè)計與制造服務(wù)平臺”的子模塊之一,完成了3D數(shù)字化產(chǎn)品移動端可視化研發(fā)工作。本文解析了OBJ格式構(gòu)成及3D模型數(shù)據(jù)格式。基于目前流行的智能手機操作系統(tǒng)——Android OS,結(jié)合面向移動平臺開發(fā)的OpenGL ES和jPCT-AE技術(shù),完成了3D數(shù)字化產(chǎn)品在移動端的展示、縮放、旋轉(zhuǎn)功能。模塊還可集成到云平臺系統(tǒng)上,為“互聯(lián)網(wǎng)+制造業(yè)”領(lǐng)域的產(chǎn)品設(shè)計提供方便快捷的數(shù)字化產(chǎn)品服務(wù)方案。

      猜你喜歡
      紋理可視化數(shù)字化
      基于CiteSpace的足三里穴研究可視化分析
      基于Power BI的油田注水運行動態(tài)分析與可視化展示
      云南化工(2021年8期)2021-12-21 06:37:54
      家紡業(yè)亟待數(shù)字化賦能
      基于CGAL和OpenGL的海底地形三維可視化
      基于BM3D的復(fù)雜紋理區(qū)域圖像去噪
      軟件(2020年3期)2020-04-20 01:45:18
      高中數(shù)學(xué)“一對一”數(shù)字化學(xué)習(xí)實踐探索
      “融評”:黨媒評論的可視化創(chuàng)新
      傳媒評論(2019年4期)2019-07-13 05:49:14
      高中數(shù)學(xué)“一對一”數(shù)字化學(xué)習(xí)實踐探索
      使用紋理疊加添加藝術(shù)畫特效
      TEXTURE ON TEXTURE質(zhì)地上的紋理
      Coco薇(2017年8期)2017-08-03 15:23:38
      荣昌县| 西峡县| 紫金县| 安阳市| 西昌市| 招远市| 凤翔县| 平潭县| 陇川县| 岢岚县| 广昌县| 周宁县| 咸宁市| 罗山县| 黄梅县| 紫云| 台北县| 富裕县| 师宗县| 新化县| 开江县| 贺州市| 苍山县| 团风县| 出国| 宜兴市| 板桥市| 灵寿县| 马关县| 吐鲁番市| 东阳市| 洪雅县| 嵩明县| 扎赉特旗| 聂拉木县| 依兰县| 大港区| 板桥市| 茂名市| 资兴市| 兴业县|