999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用改進掃描線法的面曝光快速成形的掩模圖形

2014-06-27 06:18:52金礦礦胥光申王亞寧
西安工程大學學報 2014年6期
關(guān)鍵詞:活動

金礦礦,胥光申,王亞寧,羅 聲,金 京

(西安工程大學 機電工程學院,陜西 西安 710048)

面曝光快速成形是近年迅速發(fā)展起來的一種用于制作小尺寸零件的光固化快速成形方法,其基本原理是由三維零件的CAD模型或STL模型切層后得到的具有零件截面特征的視圖文件驅(qū)動動態(tài)視圖發(fā)生器,在樹脂液面上生成相應的掩模圖形以選擇性固化單層樹脂,再移動升降臺,逐層堆積形成整個實體零件[1].與激光掃描固化相比,面曝光固化具有制作時間短,系統(tǒng)成本低,工藝簡單等優(yōu)點,是快速成形技術(shù)重要的發(fā)展方向[1-2].

掩模圖形的生成是面曝光快速成形的關(guān)鍵技術(shù)之一[2].目前,已有不少學者對生成掩模圖的方法作了大量研究[3-4],研究內(nèi)容主要集中在基于CAD模型直接生成掩模圖形方面,但由于CAD系統(tǒng)之間往往存在兼容性問題,限制了這些方法的應用.STL文件格式作為一種三維數(shù)據(jù)格式具有格式簡單、跨平臺性良好等優(yōu)點[5],已被作為快速成形領(lǐng)域的工業(yè)標準和最常用的數(shù)據(jù)文件格式而廣泛應用[6].因此,研究基于STL模型生成掩模圖形具有重要意義.

本文提出用掃描線算法生成基于STL模型的掩模圖形,通過對該算法的改進,實現(xiàn)了直接利用邊表掃描填充截面輪廓,得到了可適用于面曝光快速成形系統(tǒng)的掩模圖形.

1 掩模圖形生成機理

STL模型經(jīng)切層后得到的是一組離散點,其對應坐標用直線段順次連接,即形成由一系列簡單多邊形組成的截面輪廓環(huán),離散點為相應的輪廓頂點,而由相鄰的輪廓頂點組成的直線段為輪廓邊[7].如圖1所示,該截面上有2個輪廓環(huán),編號分別為輪廓環(huán)1和輪廓環(huán)2.J,L,F(xiàn)和M為輪廓環(huán)2 的輪廓頂點,JL,LF,F(xiàn)M和MJ為輪廓環(huán)2 的輪廓邊.

圖1 截面輪廓環(huán)及其交點情況示意圖

由切層得到的截面輪廓環(huán)是用頂點表示的,其圍成的區(qū)域只存在需要曝光的實體區(qū)域(曝光域)和無需曝光的非實體區(qū)域(非曝光域)2種狀態(tài),如圖1所示,輪廓環(huán)1和輪廓環(huán)2將所在區(qū)域分割為子區(qū)域a和b,其中子區(qū)域a為曝光域,而b為非曝光域.因此,只要將頂點表示的曝光域轉(zhuǎn)換為一種顏色(白色)的點陣表示,而非曝光域(黑色)依舊用頂點表示,進而生成能反映零件截面特征的視圖文件,再由該視圖文件驅(qū)動動態(tài)視圖發(fā)生器,在樹脂液面上生成相應的掩模圖像.

由以上分析可知,生成掩模圖形是一個嵌套多邊形的區(qū)域填充問題.在解決這一問題的各種方法中,掃描線法是最常用的效率較高的一種方法[6].在用該方法生成掩模圖形時,用截面輪廓環(huán)外一條直線與其求交,所求交點序列的第1個點和第2個點之間一定是曝光域,而第2個點和第3個點之間一定是非曝光域,以此類推,可求得該條線上的曝光域與非曝光域.用一系列掃描線依次掃描截面輪廓,即可求得截面上的全部曝光域與非曝光域.該方法只需對一條直線進行分析,且無需判斷截面的曝光域與非曝光域.

2 掃描線算法

掃描填充的關(guān)鍵是快速求取交點,尤其是奇點的處理.在使用傳統(tǒng)掃描線算法時,需要先構(gòu)建與維護邊表和活動邊表,對于一條掃描線,填充可分為求交、排序、配對和填色4個步驟,在已知前一條掃描線上交點序列的情況下,可充分利用邊的連貫性快速獲取下一條掃描線上的交點序列,也無需考慮斜率無窮大的情況[8].

STL模型切層后的截面輪廓環(huán)往往是多層嵌套的,而且每一個輪廓環(huán)又由大量輪廓邊(微直線段)組成[7],填充過程如果還是通過同時維護邊表與活動邊表(況且兩張表的部分數(shù)據(jù)是重復的)來實現(xiàn),內(nèi)存開銷會很大,掃描速度也會受到影響.為此,可將這些輪廓邊分為三類:活動邊、已經(jīng)處理的邊和尚未處理的邊.活動邊是與當前掃描線有交點的邊,已經(jīng)處理的邊是與當前掃描線已無交點的邊,尚未處理的邊是還未和當前掃描線相交,正在等待掃描處理的邊.相應的,可將邊表分為三個區(qū)間:活動邊區(qū)間、已經(jīng)處理的邊區(qū)間和尚未處理的邊區(qū)間.活動邊區(qū)間用以存放活動邊,已經(jīng)處理的邊區(qū)間用以存放已經(jīng)處理的邊,而尚未處理的邊區(qū)間用以存放尚未處理的邊.對掃描線算法的數(shù)據(jù)結(jié)構(gòu)進行相應的改進,以實現(xiàn)直接借助邊表快速求取交點和合理填充截面輪廓.下面詳細描述這一改進算法的實現(xiàn)過程.

2.1 數(shù)據(jù)結(jié)構(gòu)定義

首先,為了高效獲取輪廓邊的所有屬性,構(gòu)建一個表示邊屬性信息的數(shù)據(jù)結(jié)構(gòu)EDGE,利用C++語言定義如下:

typedef struct tag-EDGE

{

double xi;//在活動邊區(qū)間中表示邊與當前掃描線交點的X坐標,在已經(jīng)處理的邊區(qū)間中表示邊的下端點的X坐標,尚未處理的邊區(qū)間中表示邊的上端點的X坐標

double InverseSlope;//邊所在直線斜率的倒數(shù)

intyMax;//邊上端點的Y坐標(較大值)

intyMin;//邊下端點的Y坐標(較小值)

}EDGE;

這與計算機圖形學中的掃描線算法相比,多了一個yMin數(shù)據(jù)成員.在掃描過程中,用來判斷輪廓邊是否將退出活動邊區(qū)間.

其次,為了方便動態(tài)劃分邊表的3個區(qū)間,定義first“指針”和last“指針”.first“指針”之前為已經(jīng)處理的邊區(qū)間;last“指針”之后為尚未處理的邊區(qū)間;二者之間為活動邊區(qū)間.將邊表、first“指針”和last“指針”作為三個成員構(gòu)建一個邊表的數(shù)據(jù)結(jié)構(gòu)NEWEDGESTABLE,利用C++語言定義如下:

typedef struct tagSP-EDGES-TABLE

{

CArray*slEdges;//

int first;//用以指示活動邊區(qū)間的起始位置,初始化為0

int last;//用以指示活動邊區(qū)間的終止位置,初始化為0

}NEWEDGESTABLE;

在掃描填充之前,邊表內(nèi)全是尚未處理的邊,first“指針”和last“指針”都初始化為0,二者同時指示邊表首節(jié)點;在掃描過程中,first“指針”和last“指針”隨著掃描線的變化而不斷動態(tài)指示當前掃描線的活動邊區(qū)間;在掃描填充完成后,邊表內(nèi)全是已經(jīng)處理的邊,first“指針”和last“指針”同時指示邊表尾節(jié)點.

2.2 構(gòu)建邊表

STL模型經(jīng)切層處理后的數(shù)據(jù)存儲結(jié)構(gòu)為:每一個輪廓環(huán)對應一個CArray類數(shù)組,CArray類數(shù)組的節(jié)點存放其對應輪廓環(huán)的頂點坐標;每1層輪廓環(huán)對應1個CObArray類數(shù)組,CObArray類數(shù)組的節(jié)點存放該層輪廓中與每一個輪廓環(huán)對應的CArray類數(shù)組.基于以上數(shù)據(jù)結(jié)構(gòu),通過調(diào)用CObArray類數(shù)組和CArray類數(shù)組構(gòu)建邊表.

圖2是程序中構(gòu)建邊表的框圖.相鄰的j和(j+1)節(jié)點數(shù)據(jù)確定1條輪廓邊,將該邊的信息由頂點表示轉(zhuǎn)換成EDGE結(jié)構(gòu)表示,并將EDGE結(jié)構(gòu)作為1個節(jié)點存放到CArray類數(shù)組中去.水平邊與掃描線平行,不參與求交運算,可以將其忽略,則CArray類數(shù)組的節(jié)點個數(shù)等于非水平邊的邊數(shù).以結(jié)構(gòu)形式存放所有非水平邊的CArray類數(shù)組即為邊表.

圖2 構(gòu)建邊表

2.3 截面輪廓掃描填充

圖3為程序中生成能反映零件截面特征的視圖文件的框圖.直接借助邊表實現(xiàn)掃描填充截面輪廓的過程為:在處理當前掃描線yScan時,首先從尚未處理的邊區(qū)間中檢索出所有滿足條件yMax=yScan的邊,移動last“指針”,讓其成為活動邊;然后從活動邊區(qū)間中檢索出所有滿足條件yMin=yScan的邊,移動first“指針”,讓其成為已處理的邊;first和last“指針”移動之后,由二者指示的活動邊區(qū)間內(nèi)的所有邊必滿足條件yMin

圖3 生成截面視圖

2.4 奇點分析

掃描線自上而下以一個像素的間隔依次掃描,必經(jīng)過每一個輪廓頂點.奇點是指當掃描線剛好通過輪廓頂點時所產(chǎn)生的交點,在掃描過程中,能碰到的奇點只有二重點.對于一般情況,當掃描線過輪廓邊的中間時,不會產(chǎn)生二重點,但當掃描線剛好過輪廓頂點時,必然與2條輪廓邊交于同一個點,此時會產(chǎn)生1個二重點,導致交點個數(shù)可能出現(xiàn)奇數(shù),如圖1所示,掃描線3上的點E和F都為二重點,總交點個數(shù)實際上為5,為了使每一條掃描線上參與排序的交點個數(shù)始終為偶數(shù),需要進行奇點處理.奇點分為以下2種情況.

(Ⅰ) 如圖1所示,在極大值頂點(如點J)處,2條輪廓邊位于掃描線下側(cè),同時滿足條件yMax=yScan而成為活動邊,產(chǎn)生的1個二重點可以像其他交點一樣參與排序;在極小值頂點(如點F)處,2條輪廓邊位于掃描線上側(cè),同時滿足條件yMin=yScan而成為已處理的邊,產(chǎn)生的1個二重點不參與排序.

(Ⅱ) 如圖1所示,在非極值頂點(如點E)處,2條輪廓邊分處掃描線上下兩側(cè),同時與掃描線相交產(chǎn)生1個二重點,但此時位于上側(cè)的邊(如邊EN)滿足條件yMin=yScan而成為已處理的邊,而位于下側(cè)的邊(如邊ER)滿足條件yMax=yScan而成為活動邊,因此,只有位于掃描線下側(cè)的輪廓邊產(chǎn)生的1個交點參與排序,這與掃描線過輪廓邊的中間時產(chǎn)生1個交點的情況類似.

綜上所述,對于每一條掃描線,讓所有滿足條件yMax=yScan的邊進入活動邊區(qū)間,滿足條件yMin=yScan的邊退出活動邊區(qū)間,即可保證參與排序的交點個數(shù)始終為偶數(shù).如圖1所示,在掃描線1上,點H和K各算作1個交點,點I算作0個交點,點J算作2個交點,因此掃描線1上參與排序的交點數(shù)實際上為4,滿足偶數(shù)條件.

3 應用實例

在VC++6.0環(huán)境下通過編程實現(xiàn)了掩模圖形的生成.圖4(a)為用SolidWorks設計的實體模型,該模型長20mm,寬20mm,高4mm;圖4(b)為STL模型切層后的第20層輪廓環(huán),切層時設置層厚0.1mm,總層數(shù)40層;圖4(c)為用改進的掃描線算法生成的第20層掩模圖形(其曝光域為白色,非曝光域為黑色);圖4(d)為利用改進的掃描線算法生成的掩模在面曝光快速成形系統(tǒng)中制作出的模型實體.

(a) 三維模型 (b) 截面輪廓環(huán) (c) 掩模圖形 (d) 模型實體圖4 實例

4 結(jié) 論

(1) 改進的掃描線算法可實現(xiàn)對多層嵌套的復雜截面輪廓的合理填充,生成的掩模可滿足面曝光快速成形系統(tǒng)的需求.

(2) 對輪廓邊進行分類,相應的把邊表分成3個區(qū)間,只需在活動邊區(qū)間中對截面輪廓進行掃描填充,避免了傳統(tǒng)算法建立和維護活動邊表的做法,進一步簡化了掃描線算法的實現(xiàn)過程.

(3) 采用的數(shù)據(jù)結(jié)構(gòu)類型能夠?qū)崿F(xiàn)直接在邊表中掃描填充截面輪廓,也能針對一般的奇點進行很方便的處理.

參考文獻:

[1] 胥光申.用于高精度小尺寸零件制作的光固化快速成型技術(shù)的現(xiàn)狀與發(fā)展[J].機械科學與技術(shù),2004,23(10):1223-1225.

[2] 王伊卿,賈志洋,趙萬華,等.面曝光快速成形關(guān)鍵技術(shù)及研究現(xiàn)狀[J].機械設計與研究,2009,25(2):96-100.

[3] 張建平,胥光申,金京,等.基于SolidWorks的CAD模型直接切層研究[J].西安工程大學學報,2010,24(4):525-529.

[4] 景天佑,胥光申,馬訓鳴,等.基于Pro/ENGINEER的CAD模型直接切層[J].西安工程大學學報,2012,26(1):87-90.

[5] 朱虎,楊忠鳳,張偉.STL文件的應用與研究進展[J].機床與液壓,2009,37(6):186-189.

[6] TAYLOR J B,CORMIER D R,JOSHI S, et al.Contoured edge slice generation in rapid prototyping via 5-axis machining[J].Robotics and Computer-Integrated Manufacturing,2001,17(1/2):13-18.

[7] 潘海鵬.快速成型制造中分層處理技術(shù)的研究[D].南昌:南昌大學,2007:4-5.

[8] 孫家廣.計算機圖形學[M].3版.北京:清華大學出版社,1998:56-62.

猜你喜歡
活動
大型活動
“六小”活動
少先隊活動(2022年5期)2022-06-06 03:45:04
“活動隨手拍”
演出活動
行動不便者,也要多活動
中老年保健(2021年2期)2021-08-22 07:31:10
牛年到,節(jié)日活動可以這么“牛”
少先隊活動(2021年1期)2021-03-29 05:26:36
“拍手歌”活動
快樂語文(2020年30期)2021-01-14 01:05:38
三八節(jié),省婦聯(lián)推出十大系列活動
海峽姐妹(2018年3期)2018-05-09 08:20:40
活動掠影
活動掠影
主站蜘蛛池模板: 99久久99视频| 亚洲综合九九| 成人毛片在线播放| 国产精品人莉莉成在线播放| 日本黄色a视频| 九九精品在线观看| 日本一区中文字幕最新在线| 欧美啪啪网| 国产一二三区在线| 亚洲黄色高清| 亚洲水蜜桃久久综合网站| 久久久亚洲国产美女国产盗摄| 欧美日韩在线国产| 国产成人精品男人的天堂| 国产一在线观看| 久久99精品久久久久久不卡| 99精品热视频这里只有精品7| 国模极品一区二区三区| 久久99久久无码毛片一区二区| 亚洲av无码久久无遮挡| 97久久人人超碰国产精品| 韩日免费小视频| 99久视频| 欧美第一页在线| 国产第一页免费浮力影院| 亚洲最黄视频| 国产 在线视频无码| 国产成人精品优优av| 午夜视频在线观看免费网站 | 欧美日韩精品在线播放| 欧美黄网站免费观看| 久久久久国产精品熟女影院| 国产精品吹潮在线观看中文| 亚洲福利视频一区二区| a级毛片一区二区免费视频| 99re热精品视频国产免费| 国产主播一区二区三区| 国产99视频在线| 国产第一色| 在线永久免费观看的毛片| 在线看片中文字幕| 人妻无码一区二区视频| 国产欧美专区在线观看| 亚洲性日韩精品一区二区| 亚洲综合在线网| 国产a网站| 2020国产精品视频| 国产精品人人做人人爽人人添| 亚洲第一在线播放| 欧美精品啪啪| 欧洲欧美人成免费全部视频| 欧美精品在线免费| 国产激情第一页| 久草视频一区| 久久精品波多野结衣| 国产美女叼嘿视频免费看| 尤物午夜福利视频| 亚洲精品中文字幕午夜 | 国产成人精品一区二区三区| 国产Av无码精品色午夜| 欧美视频免费一区二区三区| 久久久久久高潮白浆| 韩日午夜在线资源一区二区| 怡红院美国分院一区二区| 69国产精品视频免费| 久久天天躁狠狠躁夜夜2020一| 小说区 亚洲 自拍 另类| 九九热视频精品在线| 国产96在线 | 国产福利小视频在线播放观看| 亚洲成a人在线观看| 国模粉嫩小泬视频在线观看| 久久九九热视频| 中文字幕无码制服中字| 亚洲人成色在线观看| 成人噜噜噜视频在线观看| 高清欧美性猛交XXXX黑人猛交| 呦女亚洲一区精品| 久99久热只有精品国产15| 亚洲成年人网| 欧美日韩国产在线人| 国产成人精品亚洲77美色|