• 
    

    
    

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

      ?

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

      2014-06-27 06:18:52金礦礦胥光申王亞寧
      西安工程大學學報 2014年6期
      關(guān)鍵詞:掃描線掩模邊區(qū)

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

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

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

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

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

      1 掩模圖形生成機理

      STL模型經(jīng)切層后得到的是一組離散點,其對應(yīng)坐標用直線段順次連接,即形成由一系列簡單多邊形組成的截面輪廓環(huán),離散點為相應(yīng)的輪廓頂點,而由相鄰的輪廓頂點組成的直線段為輪廓邊[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ā)生器,在樹脂液面上生成相應(yīng)的掩模圖像.

      由以上分析可知,生成掩模圖形是一個嵌套多邊形的區(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ù)是重復(fù)的)來實現(xiàn),內(nèi)存開銷會很大,掃描速度也會受到影響.為此,可將這些輪廓邊分為三類:活動邊、已經(jīng)處理的邊和尚未處理的邊.活動邊是與當前掃描線有交點的邊,已經(jīng)處理的邊是與當前掃描線已無交點的邊,尚未處理的邊是還未和當前掃描線相交,正在等待掃描處理的邊.相應(yīng)的,可將邊表分為三個區(qū)間:活動邊區(qū)間、已經(jīng)處理的邊區(qū)間和尚未處理的邊區(qū)間.活動邊區(qū)間用以存放活動邊,已經(jīng)處理的邊區(qū)間用以存放已經(jīng)處理的邊,而尚未處理的邊區(qū)間用以存放尚未處理的邊.對掃描線算法的數(shù)據(jù)結(jié)構(gòu)進行相應(yīng)的改進,以實現(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)對應(yīng)一個CArray類數(shù)組,CArray類數(shù)組的節(jié)點存放其對應(yīng)輪廓環(huán)的頂點坐標;每1層輪廓環(huán)對應(yīng)1個CObArray類數(shù)組,CObArray類數(shù)組的節(jié)點存放該層輪廓中與每一個輪廓環(huán)對應(yīng)的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個二重點,導(dǎo)致交點個數(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 應(yīng)用實例

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

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

      4 結(jié) 論

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

      (2) 對輪廓邊進行分類,相應(yīng)的把邊表分成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].機械設(shè)計與研究,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文件的應(yīng)用與研究進展[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.

      猜你喜歡
      掃描線掩模邊區(qū)
      基于場景的掃描線非均勻性校正算法
      基于直寫技術(shù)的微納掩模制作技術(shù)研究進展*
      基于掃描線模型的機載激光點云濾波算法
      掩模圖像生成時閾值取值的合理性探討
      掩模位置誤差對光刻投影物鏡畸變的影響
      掃描線點云數(shù)據(jù)的曲面重構(gòu)技術(shù)研究
      Cr光柵掩模對金屬平板超透鏡成像質(zhì)量的影響
      一種新型魚眼圖像輪廓提取算法
      戰(zhàn)斗在皖浙贛邊區(qū)的劉毓標
      軍事歷史(1998年3期)1998-08-21 02:59:36
      《中共閩浙贛邊區(qū)史》出版發(fā)行
      軍事歷史(1994年5期)1994-01-18 04:16:09
      广东省| 舞阳县| 天柱县| 城市| 杭锦后旗| 凤翔县| 天柱县| 威海市| 中阳县| 遂川县| 天祝| 武冈市| 辽宁省| 闽清县| 霍城县| 南丰县| 柞水县| 寿阳县| 尚志市| 昭通市| 吴忠市| 黄浦区| 屯昌县| 车险| 金昌市| 上高县| 股票| 南郑县| 昭通市| 靖安县| 麟游县| 大安市| 贵德县| 正宁县| 柯坪县| 山丹县| 永靖县| 嘉义市| 禄丰县| 瑞安市| 东乌珠穆沁旗|