国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

彩色3D打印紋理切片算法研究*

2019-01-23 10:48徐家攀趙吉賓田同同
關(guān)鍵詞:交線像素點紋理

徐家攀,趙吉賓,李 論,田同同

(1.東北大學(xué) 機械工程與自動化學(xué)院,沈陽 110819; 2.中國科學(xué)院沈陽自動化研究所,沈陽 110016)

0 引言

隨著3D打印技術(shù)的不斷推廣,3D打印的產(chǎn)品廣泛應(yīng)用于產(chǎn)品設(shè)計,建筑設(shè)計,模具設(shè)計,機械制造,醫(yī)學(xué)等各個領(lǐng)域,這些領(lǐng)域的產(chǎn)品都需要色彩來增強表現(xiàn)力。因此彩色3D打印更符合人類未來生產(chǎn)和生活的需求。那么彩色切片算法相關(guān)問題的研究是3D打印行業(yè)不可或缺的環(huán)節(jié)[1-2]。

占志敏等[3]對VRML格式的文件進(jìn)行解析,提出了以面來定義顏色實現(xiàn)整體上色和以頂點來定義顏色采用內(nèi)插法實現(xiàn)漸變效果,但此方法沒有解決紋理貼圖模型的切片算法;胡漢偉等[4]對AMF格式的文件解析,提出了以三角形來定義顏色,使用增量法獲得X向掃描線相鄰像素點的顏色信息,此方法僅適用于表面彩色模型,沒有對區(qū)分內(nèi)外輪廓的模型進(jìn)行分析。王璟璇等[5]根據(jù)顏色域值為0和1來定義顏色,當(dāng)域值為0時直接索引圖片值,當(dāng)域值為1時進(jìn)行插值計算獲得交線的顏色值,此算法未對貼圖模型進(jìn)行分析。

為了實現(xiàn)貼圖的紋理切片算法,實現(xiàn)全彩色3D打印,本文提出基于Obj文件的彩色3D紋理切片算法。首先對Obj文件進(jìn)行解析獲取坐標(biāo)數(shù)據(jù);接著根據(jù)紋理信息和坐標(biāo)數(shù)據(jù),進(jìn)行紋理映射獲取交線的顏色,最后利用插值算法計算生成的切面位圖交線的每個像素點的顏色信息并根據(jù)拓?fù)潢P(guān)系連接各個點便生成了彩色截面位圖。

1 Obj文件解析

常見到的*.obj文件有兩種:第一種是基于COFF(Common Object File Format)格式的Obj文件(也稱目標(biāo)文件),這種格式用于編譯應(yīng)用程序;第二種是Alias|Wavefront公司推出的Obj模型文件[6]。本文對第二種obj模型文件進(jìn)行分析。Obj文件非注釋行都以關(guān)鍵字開頭,非注釋行的第一行即為關(guān)鍵字"mtllib"引用材質(zhì)庫。緊接著是頂點定義,一般包含幾何頂點(V),紋理坐標(biāo)(Vt),頂點法線(Vn);最后是由關(guān)鍵字"usemtl"和關(guān)鍵字"f"指定每個面所使用的材質(zhì)和每個面的索引,關(guān)鍵字"usemtl"指定了材質(zhì)之后,以后的面都是使用這一材質(zhì),直到遇到下一個"usemtl"來指定新的材質(zhì)[7-8]。

基于紋理貼圖的彩色紋理切片算法,最主要的是模型的幾何信息和紋理信息,對Obj文件進(jìn)行解析,并將得到幾何信息和紋理信息保存到適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)中。Obj文件的解析流程如圖1所示。

圖1 Obj文件讀取流程

2 彩色紋理切片算法

2.1 彩色紋理切片原理

彩色紋理切片是對紋理貼圖的三維模型進(jìn)行分層切片,即對模型進(jìn)行切片的過程中沒層層輪廓必須帶有相應(yīng)的紋理信息;主要分為三個方面:一是幾何信息的獲?。欢穷伾畔⒌墨@??;三是彩色輪廓的生成。由于Obj文件完全兼容STL文件,所以幾何信息的獲取可以使用STL的切片算法獲??;而顏色信息的獲取首先需要得到紋理圖片的信息,所以在讀取Obj文件的同時獲取紋理圖片信息,另外還需要知道每個交點的紋理坐標(biāo),所有在計算幾何坐標(biāo)的同時計算交點的紋理坐標(biāo);完成幾何信息獲取和顏色信息獲取后,最后獲得所需分辨率的彩色截面輪廓圖。具體的彩色切片算法流程如圖2所示。

圖2 顏色分層算法流程

2.2 幾何信息的獲取

由于Obj文件的幾何結(jié)構(gòu)完全兼容STL,故可采用STL的切片算法,由于STL切片算法沒有紋理信息,我們只需要在原有算法的基礎(chǔ)上添加紋理信息。

(1)幾何坐標(biāo)計算

由于在交點計算前已建立幾何數(shù)據(jù)的拓?fù)潢P(guān)系,在OBJ文件中索引三角面片的三個頂點[8],如圖3所示,三角面的三個頂點V1、V2、V3,通過建立的拓?fù)潢P(guān)系尋找到各個頂點的幾何坐標(biāo)和紋理坐標(biāo)。根據(jù)切平面Z=Zp,通過線性插值計算便可得到切平面與三角面的交線的幾何坐標(biāo)和紋理坐標(biāo)。

圖3 切平面穿過三角面時的頂點坐標(biāo)

圖中,Zp為切層厚度,且Za=Zp

(2)紋理坐標(biāo)計算

要得到截面的彩色信息,必須知道切平面與三角面的交線AB的兩端點紋理坐標(biāo),接下來根據(jù)兩端點的紋理坐標(biāo)索引該AB線段上各像素點的顏色。AB兩端點紋理坐標(biāo)計算同樣采用線性插值的方法,這里只給出頂點A的求法,頂點B類似。

2.3 顏色信息的獲取

Obj文件采用紋理貼圖來定義顏色,同時根據(jù)sRGB色彩空間獲取每個像素點的顏色。Obj文件的紋理貼圖一般為2D紋理[9-10]。通過指定切平面與三角面交線每個頂點在矩形紋理上的UV坐標(biāo),可以將2D紋理通過線性插值映射到三角面與切平面的交線上,由此獲得彩色截面輪廓。如圖4所示。

圖4 Obj文件紋理映射

(1)紋理圖片的獲取

當(dāng)讀取Obj文件后,首先要獲得紋理圖片信息,以便采集顏色信息。紋理貼圖過的Obj文件包含了紋理信息和幾何信息,當(dāng)讀取Obj文件時,首先獲取了彩色三維模型的路徑信息和紋理圖片名稱,為了得到紋理圖片信息,將獲得的彩色模型路徑信息中的彩色模型名替換為紋理圖片名稱。

(2)交線顏色獲取

為了保證生成的彩色截面輪廓顏色準(zhǔn)確性,在獲取紋理圖片后,需要將2D紋理映射到三角面與切平面交線上。首先將2.2節(jié)中得到的紋理坐標(biāo)轉(zhuǎn)化為對應(yīng)紋理圖片上兩點的像素坐標(biāo),根據(jù)像素坐標(biāo)通過線性插值獲取兩點之間的所有像素點,然后得到每個像素點的顏色信息。

2.4 彩色截面輪廓的生成

最后生成的彩色截面輪廓圖是以圖片的形式呈現(xiàn),于是在生成圖片前必須設(shè)置圖片的分辨率和圖片的格式。在這里一般設(shè)置生成彩色截面圖的分辨率與紋理圖片的分辨率保持一致,避免顏色失真。圖片的格式可以根據(jù)我們需要設(shè)置。如圖5所示,通過交線顏色賦值和彩色截面輪廓生成最終實現(xiàn)生成彩色輪廓截面圖。

(1)交線顏色賦值

當(dāng)設(shè)置完生成圖片的分辨率后,根據(jù)2.2節(jié)中獲得的三角面和切片面的交線的幾何坐標(biāo)轉(zhuǎn)化為生成圖片上的分辨率坐標(biāo),通過線性插值得到兩點之間的所有像素點,然后將2.3節(jié)中得到的所有像素點的顏色信息賦值給此過程得到的像素點,于是交線的兩端點之間的所有的像素點帶有了顏色信息。

(2)彩色截面輪廓生成

為了生成彩色輪廓我們需要將2.4節(jié)中得到的帶有顏色的點畫出來,本文采用Qt的QPen和Qpainter類,利用drawPoint()函數(shù)依次將每個像素點畫出,便得到了基于紋理貼圖的Obj文件的彩色二維截面輪廓。

3 實驗驗證

本文以一個實心立方體為例,實體默認(rèn)顏色為白色;坐標(biāo)系中心在立方體的一個頂點上,Z軸向上為正方向。實驗程序利用C++,QT,OpenGl編寫。當(dāng)立方體6個面貼有紋理圖片時如圖5所示。設(shè)置生成圖片的分辨率為300dpi,切片厚度為1mm,生成彩色輪廓線寬為1mm,自下而上切片,部分彩色截面圖如圖6所示。

(a) 視圖a (b)視圖b圖5 紋理貼圖模型圖

第1層 第15層 第30層圖6 生成的部分彩色截面圖

4 結(jié)束語

本文針對基于紋理貼圖的Obj文件的彩色模型,提出了一種利用像素點顏色獲取彩色截面輪廓的切片算法,本算法不僅可以生成彩色截面輪廓,也可以生成傳統(tǒng)截面輪廓。通過實驗驗證,彩色紋理切片算法生成的彩色截面輪廓更能表達(dá)彩色信息,解決了當(dāng)前的切片算法只能實現(xiàn)色彩漸變效果不能實現(xiàn)紋理的弊端。但該算法還存在需要繼續(xù)解決和完善的方面,如輪廓偏置優(yōu)化等,將作為下一步研究的重點。

猜你喜歡
交線像素點紋理
圖像二值化處理硬件加速引擎的設(shè)計
球面與簡單多面體表面交線問題探究
基于局部相似性的特征匹配篩選算法
基于BM3D的復(fù)雜紋理區(qū)域圖像去噪
培養(yǎng)數(shù)學(xué)空間想象力
兩曲面交線上第二型曲線積分的計算
使用紋理疊加添加藝術(shù)畫特效
基于像素點篩選的艦船湍流尾跡檢測算法
基于canvas的前端數(shù)據(jù)加密
TEXTURE ON TEXTURE質(zhì)地上的紋理