亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        黃良強(qiáng),朱 焱,丁國富

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

        0 引言

        2015年7月4日,《國務(wù)院關(guān)于積極推進(jìn)“互聯(lián)網(wǎng)+”行動的指導(dǎo)意見》發(fā)布,要求將互聯(lián)網(wǎng)的創(chuàng)新成果與經(jīng)濟(jì)社會各領(lǐng)域深度融合,進(jìn)一步促進(jìn)社會發(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è)進(jìn)行深度融合[2],充分發(fā)揮互聯(lián)網(wǎng)在生產(chǎn)要素配置中的優(yōu)化和集成作用,提升實(shí)體經(jīng)濟(jì)的創(chuàng)新力和生產(chǎn)力,形成更廣泛的以互聯(lián)網(wǎng)為基礎(chǔ)設(shè)施和實(shí)現(xiàn)工具的經(jīng)濟(jì)發(fā)展新形態(tài)[3]。

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

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

        圖1 平臺架構(gòu)

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

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

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

        1.1 OBJ文件

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

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

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

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

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

        (3)不包含面的顏色定義信息,但可以引用材質(zhì)庫,材質(zhì)庫信息儲存在后綴為".mtl"的獨(dú)立材質(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表示幾何頂點(diǎn) (Geometic Vertices),vn表示頂點(diǎn)法線(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模型編程,但在智能手機(jī)等手持移動終端上運(yùn)行OpenGL有些不適合,所以Android系統(tǒng)內(nèi)置的是OpenGL ES[6]。Android提供了GLSurfaceView組件支持OpenGL ES,這個組件本身并不提供3D模型繪制功能,而是GLSurfaceView.Renderer實(shí)例化來完成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實(shí)現(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 可視化模塊實(shí)現(xiàn)

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

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

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

        (2)旋轉(zhuǎn)。同放大、縮小使用的原理不同,這里需要處理單點(diǎn)觸摸操作,處理過程為當(dāng)按下手指時獲取手指的觸摸坐標(biāo)點(diǎn),在手指移動過程中使用單點(diǎn)操作的MotionEvent.ACTION_MOVE活動行為,處理手指移動的距離和方向等信息,并根據(jù)計(jì)算獲得的數(shù)據(jù)實(shí)時觸發(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è)計(jì)研發(fā)的應(yīng)用軟件可與研究背景中提到的云平臺系統(tǒng)集成使用,如圖1所示,把移動端后臺服務(wù)器、數(shù)據(jù)庫服務(wù)器放置在云端。云平臺服務(wù)器提供用戶數(shù)據(jù)的存儲、讀寫等功能,用戶可通過移動終端設(shè)備與后臺云服務(wù)器進(jìn)行通信。

        本文研發(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模型可視化功能,進(jìn)行3D模型文件可視化展示與操作。

        5 結(jié)語

        本文作為“面向互聯(lián)網(wǎng)+的產(chǎn)品數(shù)字化設(shè)計(jì)與制造服務(wù)平臺”的子模塊之一,完成了3D數(shù)字化產(chǎn)品移動端可視化研發(fā)工作。本文解析了OBJ格式構(gòu)成及3D模型數(shù)據(jù)格式?;谀壳傲餍械闹悄苁謾C(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è)計(jì)提供方便快捷的數(shù)字化產(chǎn)品服務(wù)方案。

        猜你喜歡
        紋理可視化數(shù)字化
        基于CiteSpace的足三里穴研究可視化分析
        基于Power BI的油田注水運(yùn)行動態(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í)實(shí)踐探索
        “融評”:黨媒評論的可視化創(chuàng)新
        傳媒評論(2019年4期)2019-07-13 05:49:14
        高中數(shù)學(xué)“一對一”數(shù)字化學(xué)習(xí)實(shí)踐探索
        使用紋理疊加添加藝術(shù)畫特效
        TEXTURE ON TEXTURE質(zhì)地上的紋理
        Coco薇(2017年8期)2017-08-03 15:23:38
        国产三级精品三级在线观看粤语| 久久精品aⅴ无码中文字字幕| 中文字幕在线日亚洲9| 欧洲一卡2卡三卡4卡免费网站| 亚洲一级无码片一区二区三区| 国产免费午夜福利蜜芽无码| 日韩一区二区中文天堂| 青青手机在线观看视频| 国产精品自在拍在线拍| 国产色诱视频在线观看| 亚洲成AV人片无码不卡| 日韩激情视频一区在线观看| 国产在线视频一区二区天美蜜桃| 久久婷婷人人澡人人喊人人爽| 亚洲精品国产精品国自产观看| 无码中文字幕专区一二三| 亚洲少妇一区二区三区老| 99e99精选视频在线观看| 香港台湾经典三级a视频| 中文字幕无码不卡免费视频| 欧美国产伦久久久久久久| 在线看亚洲一区二区三区| 久久久久久人妻无码| 亚洲狠狠婷婷综合久久久久图片| 美国黄色片一区二区三区| 亚洲精品在线观看一区二区| 人妖一区二区三区视频| 久久不见久久见免费影院国语 | 中文字幕文字幕一区二区| 中文字幕亚洲乱码成熟女1区| 99精品国产一区二区三区| 欧美成人在线A免费观看| 日韩乱码精品中文字幕不卡| 美女人妻中出日本人妻| 日韩人妻一区二区三区蜜桃视频| 国内少妇偷人精品视频免费| 日韩精品一区二区三区四区五区六 | 超碰97资源站| 国产在亚洲线视频观看| 白浆高潮国产免费一区二区三区| 精品亚洲一区二区三区四区五区 |