本發(fā)明涉及三維工件的特定加工路徑的計(jì)算機(jī)輔助設(shè)計(jì)領(lǐng)域,特別涉及一種面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法和裝置。
背景技術(shù):
為了滿足用戶對產(chǎn)品的外觀質(zhì)量越來越苛刻的要求,需要在制造環(huán)節(jié)對產(chǎn)品外觀質(zhì)量起關(guān)鍵作用的表面涂裝作業(yè)提出了更高要求。傳統(tǒng)的表面噴涂技術(shù)都是以手工方式進(jìn)行產(chǎn)品表面的噴涂作業(yè),在此過程中產(chǎn)生的大量有害物質(zhì)及氣體嚴(yán)重影響到操作工人的身體健康及勞動(dòng)情緒,并且噴涂質(zhì)量受員工的技術(shù)水平、情緒等因素影響較大,因此嚴(yán)重制約了生產(chǎn)能力和產(chǎn)品質(zhì)量。隨著自動(dòng)控制以及機(jī)器人技術(shù)的發(fā)展,采用噴涂機(jī)器人方式的自動(dòng)噴涂工藝在工業(yè)生產(chǎn)領(lǐng)域逐漸獲得了普及,并克服了上述手工方式所存在的缺點(diǎn)。在自動(dòng)噴涂操作中,由于噴涂在產(chǎn)品表面的物質(zhì)通常屬于黏性流體介質(zhì),因此需要干燥后才能固化,并且在噴涂過程中,不得接觸己噴涂的工件表面。因此適當(dāng)?shù)膰娡孔鳂I(yè)路徑以及參數(shù)對噴涂料的消耗,噴涂時(shí)間以及工件表面的涂層厚度具有決定性的影響,并且適當(dāng)?shù)穆窂胶推鋮?shù)的選擇能夠節(jié)約成本并縮短作業(yè)時(shí)間?,F(xiàn)有用于規(guī)劃噴涂作業(yè)路徑的一種典型的方法是人工示教方法,即由經(jīng)驗(yàn)豐富的工人握住安裝有固定噴槍的機(jī)器人前臂進(jìn)行噴涂實(shí)驗(yàn),同時(shí)由控制機(jī)器人的計(jì)算機(jī)記錄下機(jī)器人各關(guān)節(jié)參數(shù)的變化,使得機(jī)器人隨后能獨(dú)立的重復(fù)沿原先的軌跡運(yùn)動(dòng)。采用這種方法而形成的噴槍軌跡是憑人工經(jīng)驗(yàn)和實(shí)驗(yàn)方法獲得的,每一次的工件外形的修改都需要重新由工人進(jìn)行示范操作,并且所獲得的軌跡并非最優(yōu)工作路徑。因此在產(chǎn)品設(shè)計(jì)階段,根據(jù)產(chǎn)品的外觀以及工藝的要求,自動(dòng)設(shè)計(jì)最優(yōu)工作路徑是一件必不可缺的任務(wù)。因此根據(jù)產(chǎn)品外觀來選擇恰當(dāng)?shù)穆窂娇刂泣c(diǎn)十分重要。由于許多產(chǎn)品的外觀設(shè)計(jì)十分復(fù)雜,只能選用三維點(diǎn)云模型來進(jìn)行產(chǎn)品設(shè)計(jì)。而直接在三維點(diǎn)云模型上選擇恰當(dāng)?shù)穆窂娇刂泣c(diǎn)過程中,由于三維點(diǎn)云模型無法保持固定姿態(tài),并且也難以維護(hù)多個(gè)被選擇的路徑控制點(diǎn)之間的關(guān)系,因此這項(xiàng)工作非常不容易完成。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于提供一種面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法和裝置,旨在解決直接在三維點(diǎn)云模型上選擇恰當(dāng)?shù)穆窂娇刂泣c(diǎn)過程中,由于三維點(diǎn)云模型無法保持固定姿態(tài),并且也難以維護(hù)多個(gè)被選擇的路徑控制點(diǎn)之間的關(guān)系,非常不容易完成的這一技術(shù)問題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供的面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法,包括步驟:
使用三角形網(wǎng)格化處理算法確定生成給定點(diǎn)云模型表面的全部三角片,并將所述全部三角片構(gòu)建為三角片數(shù)組;
根據(jù)所述給定點(diǎn)云模型在三維坐標(biāo)系的最大坐標(biāo)值和最小坐標(biāo)值構(gòu)造最小包容盒;
從所述最小包容盒的6個(gè)包容面之中選擇1個(gè)包容面作為工作面;
在所述工作面上設(shè)定一點(diǎn)作為目標(biāo)點(diǎn),構(gòu)造沿所述工作面的法矢方向穿過所述目標(biāo)點(diǎn)的射線;
查找被所述射線穿過的所述給定點(diǎn)云模型表面的三角片,并將所述被所述射線穿過的所述給定點(diǎn)云模型表面的三角片構(gòu)建為三角片鏈表;
在所述三角片鏈表之中查找距離所述工作面最近的所述被所述射線穿過的所述給定點(diǎn)云模型表面的三角片,并將所述距離所述工作面最近的所述被所述射線穿過的所述給定點(diǎn)云模型表面的三角片內(nèi)與所述射線的交點(diǎn)作為投射點(diǎn),并將所述工作面上的所述目標(biāo)點(diǎn)作為軌跡控制點(diǎn)。
優(yōu)選地,所述查找被所述射線穿過的所述給定點(diǎn)云模型表面的三角片,并將所述被所述射線穿過的所述給定點(diǎn)云模型表面的三角片構(gòu)建為三角片鏈表的步驟包括:
判斷是否遍歷完所述三角片數(shù)組;
若判定還未遍歷完所述三角片數(shù)組,判斷所述射線是否穿過所述當(dāng)前三角片;
若判定所述射線穿過所述當(dāng)前三角片,將所述當(dāng)前三角片加入所述三角片鏈表。
優(yōu)選地,所述判斷所述射線是否穿過所述當(dāng)前三角片的步驟包括:
獲取所述當(dāng)前三角片的法矢;
判斷所述工作面的法矢與所述當(dāng)前三角片的法矢之間的夾角是否大于90度;
若所述夾角大于90度,判定所述射線沒有穿過所述當(dāng)前三角片;
若所述夾角小于或等于90度,繼續(xù)判斷所述射線是否穿過所述當(dāng)前三角片。
優(yōu)選地,所述繼續(xù)判斷所述射線是否穿過所述當(dāng)前三角片的步驟包括:
沿所述工作面的法矢方向?qū)⑺霎?dāng)前三角片的三個(gè)頂點(diǎn)向所述工作面投射,獲得所述三個(gè)頂點(diǎn)在所述工作面上一一對應(yīng)的三個(gè)投影點(diǎn);
將所述工作面上的所述目標(biāo)點(diǎn)依次與三個(gè)所述投影點(diǎn)構(gòu)造為三個(gè)矢量;
計(jì)算所述三個(gè)矢量兩兩之間的夾角;
判斷所述夾角之和是否等于360度;
若所述夾角之和等于360度,判定所述射線穿過所述當(dāng)前三角片;
若所述夾角之和不等于360度,判定所述射線沒有穿過所述當(dāng)前三角片。
優(yōu)選地,所述三角片的鏈表的長度最長為20。
本發(fā)明進(jìn)一步提供面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置,包括:
三角片數(shù)組構(gòu)建模塊,用于使用三角形網(wǎng)格化處理算法確定生成給定點(diǎn)云模型表面的全部三角片,并將所述全部三角片構(gòu)建為三角片數(shù)組;
最小包容盒構(gòu)造模塊,用于根據(jù)所述給定點(diǎn)云模型在三維坐標(biāo)系的最大坐標(biāo)值和最小坐標(biāo)值構(gòu)造最小包容盒;
工作面選擇模塊,用于從所述最小包容盒的6個(gè)包容面之中選擇1個(gè)包容面作為工作面;
射線構(gòu)造模塊、用于在所述工作面上設(shè)定一點(diǎn)作為目標(biāo)點(diǎn),構(gòu)造沿所述工作面的法矢方向穿過所述目標(biāo)點(diǎn)的射線;
三角片鏈表構(gòu)建模塊,用于查找被所述射線穿過的所述給定點(diǎn)云模型表面的三角片,并將所述被所述射線穿過的所述給定點(diǎn)云模型表面的三角片構(gòu)建為三角片鏈表;
軌跡控制點(diǎn)模塊、用于在所述三角片鏈表之中查找距離所述工作面最近的所述被所述射線穿過的所述給定點(diǎn)云模型表面的三角片,并將所述距離所述工作面最近的所述被所述射線穿過的所述給定點(diǎn)云模型表面的三角片內(nèi)與所述射線的交點(diǎn)作為投射點(diǎn),并將所述工作面上的所述目標(biāo)點(diǎn)作為軌跡控制點(diǎn)。
優(yōu)選地,所述三角片鏈表構(gòu)建模塊包括:
三角片數(shù)組遍歷判斷子模塊,用于判斷是否遍歷完所述三角片數(shù)組;
射線穿過三角片判斷子模塊,用于若判定還未遍歷完所述三角片數(shù)組,判斷所述射線是否穿過所述當(dāng)前三角片;
三角片鏈表追加三角片子模塊,用于若判定所述射線穿過所述當(dāng)前三角片,將所述當(dāng)前三角片加入所述三角片鏈表。
優(yōu)選地,所述射線穿過三角片判斷子模塊包括:
三角片法矢獲取單元,用于獲取所述當(dāng)前三角片的法矢;
法矢夾角判斷單元,用于判斷所述工作面的法矢與所述當(dāng)前三角片形的法矢之間的夾角是否大于90度;
射線未穿過三角片判定單元,用于若所述夾角大于90度,判定所述射線沒有穿過所述當(dāng)前三角片;
射線穿過三角片繼續(xù)判斷單元,用于若所述夾角小于或等于90度,繼續(xù)判斷所述射線是否穿過所述當(dāng)前三角片。
優(yōu)選地,所述射線穿過三角片繼續(xù)判斷單元包括:
投影點(diǎn)獲取子單元,用于沿所述工作面的法矢方向?qū)⑺霎?dāng)前三角片的三個(gè)頂點(diǎn)向所述工作面投射,獲得所述三個(gè)頂點(diǎn)在所述工作面上一一對應(yīng)的三個(gè)投影點(diǎn);
矢量構(gòu)造子單元,用于將所述工作面上的所述目標(biāo)點(diǎn)依次與三個(gè)所述投影點(diǎn)構(gòu)造為三個(gè)矢量;
矢量夾角計(jì)算子單元,用于計(jì)算所述三個(gè)矢量兩兩之間的夾角;
夾角之和判斷子單元,用于判斷所述夾角之和是否等于360度;
射線穿過三角片判定子單元,用于若所述夾角之和等于360度,判定所述射線穿過所述當(dāng)前三角片;
射線未穿過三角片判定子單元,用于若所述夾角之和不等于360度,判定所述射線沒有穿過所述當(dāng)前三角片。
優(yōu)選地,所述三角片鏈表構(gòu)建模塊之中所構(gòu)建的所述三角片的鏈表的長度最長為20。
本發(fā)明通過上述步驟,可以根據(jù)給定點(diǎn)云模型在三維坐標(biāo)系的最大坐標(biāo)值和最小坐標(biāo)值構(gòu)造的唯一的最小包容盒,并選擇所述最小包容盒的一個(gè)包容面作為工作面,可以實(shí)現(xiàn)在固定的視角內(nèi),并且在固定的操作平面內(nèi)選點(diǎn),使操作簡便直觀,同時(shí)簡化了數(shù)據(jù)處理流程,并且還可以參照cad草圖操作各種對齊,提高軌跡控制點(diǎn)的規(guī)范性,進(jìn)而提高對應(yīng)的加工質(zhì)量。
并且克服了現(xiàn)有的傳統(tǒng)方法的兩個(gè)缺點(diǎn):在2d圖紙上規(guī)劃軌跡點(diǎn)不具操作性;而在3d模型曲面上選點(diǎn)雖然直觀,但在選點(diǎn)過程中無法保持固定姿態(tài),或者無法保持姿態(tài),并且在三維空間中難以維護(hù)多點(diǎn)之間的關(guān)系。采用在最小包容盒的包容面上選點(diǎn)的方法還達(dá)到了處理效果較好,與實(shí)際工作場景一致性更好的優(yōu)點(diǎn)。
附圖說明
圖1為本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法第一實(shí)施例的流程示意圖;
圖2為本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法第二實(shí)施例的流程示意圖;
圖3為本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法第三實(shí)施例的流程示意圖;
圖4為本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法第四實(shí)施例的流程示意圖;
圖5為本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置第一實(shí)施例的的功能模塊示意圖;
圖6為本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置第二實(shí)施例的功能模塊示意圖;
圖7為本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置第三實(shí)施例的功能模塊示意圖;
圖8為本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置第四實(shí)施例的功能模塊示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
參照圖1,圖1為本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法的第一實(shí)施例的流程示意圖。
步驟s1、構(gòu)建三角片數(shù)組。
即使用三角形網(wǎng)格化處理算法確定生成給定點(diǎn)云模型表面的全部三角片,并將所述全部三角片構(gòu)建為三角片數(shù)組。
步驟s2、構(gòu)造最小包容盒。
即根據(jù)所述給定點(diǎn)云模型在三維坐標(biāo)系的最大坐標(biāo)值和最小坐標(biāo)值構(gòu)造最小包容盒。
步驟s3、選擇工作面。
即從所述最小包容盒的6個(gè)包容面之中選擇1個(gè)包容面作為工作面。
步驟s4、設(shè)定目標(biāo)點(diǎn)并構(gòu)造射線。
即在所述工作面上設(shè)定一點(diǎn)作為目標(biāo)點(diǎn),構(gòu)造沿所述工作面的法矢方向穿過所述目標(biāo)點(diǎn)的射線。
步驟s5、構(gòu)造三角片鏈表。
即查找被所述射線穿過的所述給定點(diǎn)云模型表面的三角片,并將所述被所述射線穿過的所述給定點(diǎn)云模型表面的三角片構(gòu)建為三角片鏈表。
步驟s6、查找距離工作面最近的三角片,將工作面上的所述目標(biāo)點(diǎn)作為軌跡控制點(diǎn)。
即在所述三角片鏈表之中查找距離所述工作面最近的所述被所述射線穿過的所述給定點(diǎn)云模型表面的三角片,并將所述距離所述工作面最近的所述被所述射線穿過的所述給定點(diǎn)云模型表面的三角片內(nèi)與所述射線的交點(diǎn)作為投射點(diǎn),并將所述工作面上的所述目標(biāo)點(diǎn)作為軌跡控制點(diǎn)
通過上述步驟,可以根據(jù)給定點(diǎn)云模型在三維坐標(biāo)系的最大坐標(biāo)值和最小坐標(biāo)值構(gòu)造的唯一的最小包容盒,并選擇所述最小包容盒的一個(gè)包容面作為工作面,可以實(shí)現(xiàn)在固定的視角內(nèi),并且在固定的操作平面內(nèi)選點(diǎn),使操作簡便直觀,同時(shí)簡化了數(shù)據(jù)處理流程,并且還可以參照cad草圖操作各種對齊,提高軌跡控制點(diǎn)的規(guī)范性,進(jìn)而提高對應(yīng)的加工質(zhì)量。
并且克服了現(xiàn)有的傳統(tǒng)方法的兩個(gè)缺點(diǎn):在2d圖紙上規(guī)劃軌跡點(diǎn)不具操作性;而在3d模型曲面上選點(diǎn)雖然直觀,但在選點(diǎn)過程中無法保持固定姿態(tài),或者無法保持姿態(tài),并且在三維空間中難以維護(hù)多點(diǎn)之間的關(guān)系。采用在最小包容盒的包容面上選點(diǎn)的方法還達(dá)到了處理效果較好,與實(shí)際工作場景一致性更好的優(yōu)點(diǎn)。
參照圖2,圖2為本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法的第二實(shí)施例的流程示意圖。如圖2所示,基于上述圖1的實(shí)施例,所述步驟s5、構(gòu)造三角片鏈表包括:
步驟s51、是否遍歷完三角片數(shù)組。
即判斷是否遍歷完所述三角片數(shù)組。如果判定遍歷完所述三角片數(shù)組,則執(zhí)行步驟s6,否則更新當(dāng)前三角片并執(zhí)行步驟s52。
步驟s52、射線是否穿過當(dāng)前三角片。
即若判定還未遍歷完所述三角片數(shù)組,判斷所述射線是否穿過所述當(dāng)前三角片。如果判定所述射線穿過所述當(dāng)前三角片,則執(zhí)行步驟s53;如果判定所述射線未穿過所述當(dāng)前三角片,則執(zhí)行步驟s51。
步驟s53、將當(dāng)前三角片加入三角片鏈表。
即若判定所述射線穿過所述當(dāng)前三角片,將所述當(dāng)前三角片加入所述三角片鏈表。
通過上述步驟所采用的遍歷三維點(diǎn)云模型表面的所有三角片的方法,將容易查找處被所述射線穿過的所有三角片,而且不會(huì)有遺漏。并且該方法容易用算法程序?qū)崿F(xiàn),使處理過程簡便直觀,同時(shí)簡化了數(shù)據(jù)處理流程,具有較好的可操作性。
參照圖3,圖3為本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法的第三實(shí)施例的流程示意圖。如圖3所示,基于上述圖2的實(shí)施例,在所述步驟s52、包括:
s521、獲取當(dāng)前三角片的法矢。
即獲取所述當(dāng)前三角片的法矢。
s522、判斷工作面與當(dāng)前三角片之間的法矢夾角是否大于90度。
即判斷所述工作面的法矢與所述當(dāng)前三角片的法矢之間的夾角是否大于90度。若判定所述夾角大于90度,則執(zhí)行步驟s523;若判定所述夾角小于或等于90度,則執(zhí)行步驟s524。
s523、判定射線沒有穿過當(dāng)前三角片。
即若所述夾角大于90度,判定所述射線沒有穿過所述當(dāng)前三角片,然后執(zhí)行步驟s51。
s524、繼續(xù)判斷射線是否穿過當(dāng)前三角片。
即若所述夾角小于或等于90度,繼續(xù)判斷所述射線是否穿過所述當(dāng)前三角片。若判定所述射線穿過所述當(dāng)前三角片,則執(zhí)行步驟s53;若判定所述射線沒有穿過所述當(dāng)前三角片,則執(zhí)行步驟s51。
通過判斷所述工作面的法矢與所述當(dāng)前三角片的法矢之間的夾角是否大于90度,可以將所述夾角大于90度的的三角片從候選三角片之中過濾掉,避免了這些被過濾掉的三角片在后續(xù)的判定射線是否穿過三角片的計(jì)算,節(jié)省了計(jì)算時(shí)間和計(jì)算資源,降低了計(jì)算復(fù)雜度,提高了處理的效率。并且法矢的計(jì)算方法相對簡單,容易用算法程序?qū)崿F(xiàn),其結(jié)果準(zhǔn)確可靠,因此簡化了數(shù)據(jù)處理流程,具有較好的可操作性。
參照圖4,圖4為本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法的第四實(shí)施例的流程示意圖。如圖4所示,基于上述圖3的實(shí)施例,所述步驟s524、繼續(xù)判斷射線是否穿過當(dāng)前三角片包括:
s5241、獲得當(dāng)前三角片的三個(gè)頂點(diǎn)在工作面上對應(yīng)的三個(gè)投影點(diǎn)。
即沿所述工作面的法矢方向?qū)⑺霎?dāng)前三角片的三個(gè)頂點(diǎn)向所述工作面投射,獲得所述三個(gè)頂點(diǎn)在所述工作面上一一對應(yīng)的三個(gè)投影點(diǎn)。
s5242、構(gòu)造三個(gè)矢量。
即將所述工作面上的所述目標(biāo)點(diǎn)依次與三個(gè)所述投影點(diǎn)構(gòu)造為三個(gè)矢量。
s5243、計(jì)算三個(gè)矢量兩兩之間的夾角。
即計(jì)算所述三個(gè)矢量兩兩之間的夾角。
s5244、判斷夾角之和是否等于360度。
即判斷所述夾角之和是否等于360度。若判定夾角之和等于360度,則可以判定所述射線穿過所述當(dāng)前三角片,執(zhí)行步驟s5245;若判定夾角之和不等于360度,則可以判定所述射線沒有穿過所述當(dāng)前三角片,執(zhí)行步驟s5246。
s5245、判定射線穿過當(dāng)前三角片。
即若所述夾角之和等于360度,判定所述射線穿過所述當(dāng)前三角片,接著執(zhí)行步驟s53。
s5246、判定射線沒有穿過當(dāng)前三角片。
即若所述夾角之和不等于360度,判定所述射線沒有穿過所述當(dāng)前三角片,接著執(zhí)行步驟s51。
通過上述步驟可以將判定射線是否穿過三角片的計(jì)算從三角片的平面映射到操作面,降低了計(jì)算的復(fù)雜度,使算法程序更加簡潔,其計(jì)算結(jié)果準(zhǔn)確可靠,因此具有較好的可操作性。
進(jìn)一步,基于上述圖1至圖4的實(shí)施例,所述三角片的鏈表的長度最長為20。。
通過設(shè)定三角片的鏈表的長度,使計(jì)算所述射線穿過所述當(dāng)前三角片的數(shù)目限制在20,確保了算法程序的可執(zhí)行性。
上述本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法的第一實(shí)施例中的面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法可以由本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置的第一實(shí)施例所提供的面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置來實(shí)現(xiàn)。
參照圖5,圖5為本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置的第一實(shí)施例提供一種面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置,所述裝置包括:
三角片數(shù)組構(gòu)建模塊10,用于使用三角形網(wǎng)格化處理算法確定生成給定點(diǎn)云模型表面的全部三角片,并將所述全部三角片構(gòu)建為三角片數(shù)組。
最小包容盒構(gòu)造模塊20,用于根據(jù)所述給定點(diǎn)云模型在三維坐標(biāo)系的最大坐標(biāo)值和最小坐標(biāo)值構(gòu)造最小包容盒。
工作面選擇模塊30,用于從所述最小包容盒的6個(gè)包容面之中選擇1個(gè)包容面作為工作面。
射線構(gòu)造模塊40、用于在所述工作面上設(shè)定一點(diǎn)作為目標(biāo)點(diǎn),構(gòu)造沿所述工作面的法矢方向穿過所述目標(biāo)點(diǎn)的射線。
三角片鏈表構(gòu)建模塊50,用于查找被所述射線穿過的所述給定點(diǎn)云模型表面的三角片,并將所述被所述射線穿過的所述給定點(diǎn)云模型表面的三角片構(gòu)建為三角片鏈表。
軌跡控制點(diǎn)模塊60、用于在所述三角片鏈表之中查找距離所述工作面最近的所述被所述射線穿過的所述給定點(diǎn)云模型表面的三角片,并將所述距離所述工作面最近的所述被所述射線穿過的所述給定點(diǎn)云模型表面的三角片內(nèi)與所述射線的交點(diǎn)作為投射點(diǎn),并將所述工作面上的所述目標(biāo)點(diǎn)作為軌跡控制點(diǎn)。
通過上述模塊,可以根據(jù)給定點(diǎn)云模型在三維坐標(biāo)系的最大坐標(biāo)值和最小坐標(biāo)值構(gòu)造的唯一的最小包容盒,并選擇所述最小包容盒的一個(gè)包容面作為工作面,可以實(shí)現(xiàn)在固定的視角內(nèi),并且在固定的操作平面內(nèi)選點(diǎn),使操作簡便直觀,同時(shí)簡化了數(shù)據(jù)處理流程,并且還可以參照cad草圖操作各種對齊,提高軌跡控制點(diǎn)的規(guī)范性,進(jìn)而提高對應(yīng)的加工質(zhì)量。
并且克服了現(xiàn)有的傳統(tǒng)方法的兩個(gè)缺點(diǎn):在2d圖紙上規(guī)劃軌跡點(diǎn)不具操作性;而在3d模型曲面上選點(diǎn)雖然直觀,但在選點(diǎn)過程中無法保持固定姿態(tài),或者無法保持姿態(tài),并且在三維空間中難以維護(hù)多點(diǎn)之間的關(guān)系。采用在最小包容盒的包容面上選點(diǎn)的方法還達(dá)到了處理效果較好,與實(shí)際工作場景一致性更好的優(yōu)點(diǎn)。
上述本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法的第二實(shí)施例中的面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法可以由本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置的第二實(shí)施例所提供的面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置來實(shí)現(xiàn)。
參照圖6,本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置的第二實(shí)施例提供一種面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置,基于上述圖5所示的實(shí)施例,所述三角片鏈表構(gòu)建模塊50包括:
三角片數(shù)組遍歷判斷子模塊510,用于判斷是否遍歷完所述三角片數(shù)組。
即三角片數(shù)組遍歷判斷子模塊510判斷是否遍歷完所述三角片數(shù)組。如果判定遍歷完所述三角片數(shù)組,則射線穿過三角片判斷子模塊520判斷所述射線是否穿過所述當(dāng)前三角片,否則三角片鏈表追加三角片子模塊530將所述當(dāng)前三角片加入所述三角片鏈表。
射線穿過三角片判斷子模塊520,用于若判定還未遍歷完所述三角片數(shù)組,判斷所述射線是否穿過所述當(dāng)前三角片。
三角片鏈表追加三角片子模塊530,用于若判定所述射線穿過所述當(dāng)前三角片,將所述當(dāng)前三角片加入所述三角片鏈表。
通過上述模塊所采用的遍歷三維點(diǎn)云模型表面的所有三角片的方法,將容易查找處被所述射線穿過的所有三角片,而且不會(huì)有遺漏。并且容易用算法程序?qū)崿F(xiàn),使處理過程簡便直觀,同時(shí)簡化了數(shù)據(jù)處理流程,具有較好的可操作性。
上述本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法的第三實(shí)施例中的面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法可以由本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置的第三實(shí)施例所提供的面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置來實(shí)現(xiàn)。
參照圖7,本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置的第三實(shí)施例提供一種面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置,基于上述圖6所示的實(shí)施例,所述射線穿過三角片判斷子模塊520包括:
三角片法矢獲取單元521,用于獲取所述當(dāng)前三角片的法矢。
法矢夾角判斷單元522,用于判斷所述工作面的法矢與所述當(dāng)前三角片的法矢之間的夾角是否大于90度。
即判斷所述工作面的法矢與所述當(dāng)前三角片的法矢之間的夾角是否大于90度。若判定所述夾角大于90度,則射線未穿過三角片判定單元523判定所述射線沒有穿過所述當(dāng)前三角片;若判定所述夾角小于或等于90度,則射線穿過三角片繼續(xù)判斷單元524繼續(xù)判斷所述射線是否穿過所述當(dāng)前三角片。
射線未穿過三角片判定單元523,用于若所述夾角大于90度,判定所述射線沒有穿過所述當(dāng)前三角片。
射線穿過三角片繼續(xù)判斷單元524,用于若所述夾角小于或等于90度,繼續(xù)判斷所述射線是否穿過所述當(dāng)前三角片。
通過判斷所述工作面的法矢與所述當(dāng)前三角片的法矢之間的夾角是否大于90度,可以將所述夾角大于90度的的三角片從候選三角片之中過濾掉,避免了這些被過濾掉的三角片在后續(xù)的判定射線是否穿過三角片的計(jì)算,節(jié)省了計(jì)算時(shí)間和計(jì)算資源,降低了計(jì)算復(fù)雜度,提高了處理的效率。并且法矢的計(jì)算方法相對簡單,容易用算法程序?qū)崿F(xiàn),其結(jié)果準(zhǔn)確可靠,因此簡化了數(shù)據(jù)處理流程,具有較好的可操作性。
上述本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法的第四實(shí)施例中的面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取方法可以由本發(fā)明面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置的第四實(shí)施例所提供的面向點(diǎn)云模型的包容盒面的軌跡控制點(diǎn)拾取裝置來實(shí)現(xiàn)。
參照圖8,本發(fā)明報(bào)價(jià)單處理裝置的第三實(shí)施例提供一種報(bào)價(jià)單處理裝置,基于上述圖7所示的實(shí)施例,所述射線穿過三角片繼續(xù)判斷單元524包括:
投影點(diǎn)獲取子單元5241,用于沿所述工作面的法矢方向?qū)⑺霎?dāng)前三角片的三個(gè)頂點(diǎn)向所述工作面投射,獲得所述三個(gè)頂點(diǎn)在所述工作面上一一對應(yīng)的三個(gè)投影點(diǎn)。
矢量構(gòu)造子單元5242,用于將所述工作面上的所述目標(biāo)點(diǎn)依次與三個(gè)所述投影點(diǎn)構(gòu)造為三個(gè)矢量。
矢量夾角計(jì)算子單元5243,用于計(jì)算所述三個(gè)矢量兩兩之間的夾角。
夾角之和判斷子單元5244,用于判斷所述夾角之和是否等于360度。
即判斷所述夾角之和是否等于360度。若判定夾角之和等于360度,可以判定所述射線穿過所述當(dāng)前三角片,射線穿過三角片判定子單元5245判定所述射線穿過所述當(dāng)前三角片;若判定夾角之和不等于360度,則可以判定所述射線沒有穿過所述當(dāng)前三角片,射線未穿過三角片判定子單元5246判定所述射線沒有穿過所述當(dāng)前三角片。
射線穿過三角片判定子單元5245,用于若所述夾角之和等于360度,判定所述射線穿過所述當(dāng)前三角片。
射線未穿過三角片判定子單元5246,用于若所述夾角之和不等于360度,判定所述射線沒有穿過所述當(dāng)前三角片。
因此可以實(shí)現(xiàn)將判定射線是否穿過三角片的計(jì)算從三角片的平面映射到操作面,降低了計(jì)算的復(fù)雜度,使算法程序更加簡潔,其計(jì)算結(jié)果準(zhǔn)確可靠,因此具有較好的可操作性。
進(jìn)一步,基于上述圖5至圖8的實(shí)施例,所述三角片鏈表構(gòu)建模塊50之中所構(gòu)建的所述三角片的鏈表的長度最長為20。
通過設(shè)定三角片的鏈表的長度,使計(jì)算所述射線穿過所述當(dāng)前三角片的數(shù)目限制在20,確保了算法程序的可執(zhí)行性。
需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊單元或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。