韓德東
摘 要:高校實(shí)驗(yàn)室是學(xué)生進(jìn)行實(shí)踐能力培養(yǎng)和學(xué)術(shù)研究的重要場(chǎng)所,同時(shí)也是學(xué)生對(duì)理論知識(shí)進(jìn)行實(shí)踐檢驗(yàn)和加深認(rèn)知的場(chǎng)所,在創(chuàng)新型人才培養(yǎng)中占據(jù)有重要地位。計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)室的建設(shè),從專業(yè)建設(shè)、實(shí)際需要和技術(shù)發(fā)展的角度出發(fā),需要兼顧實(shí)用性和先進(jìn)性,實(shí)驗(yàn)內(nèi)容和教學(xué)方法結(jié)合實(shí)際教學(xué)需要不斷改進(jìn)。文章針對(duì)B樣條曲線插補(bǔ)實(shí)驗(yàn),提出了網(wǎng)絡(luò)教學(xué)方法,設(shè)計(jì)出相應(yīng)的實(shí)驗(yàn)教學(xué)平臺(tái),通過(guò)實(shí)驗(yàn)的交互式和可視化學(xué)習(xí),可提高學(xué)生學(xué)習(xí)興趣,增強(qiáng)學(xué)生理論教學(xué)和實(shí)踐應(yīng)用相結(jié)合的能力,促進(jìn)理論教學(xué)和實(shí)驗(yàn)教學(xué)的發(fā)展和創(chuàng)新,為具有創(chuàng)新意識(shí)和創(chuàng)新能力的高素質(zhì)人才的培養(yǎng)夯實(shí)基礎(chǔ)。
關(guān)鍵詞:B樣條插補(bǔ);網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái);實(shí)驗(yàn)教學(xué);數(shù)控技術(shù)
隨著計(jì)算機(jī)快速發(fā)展和零部件加工精度需求的提升,插補(bǔ)技術(shù)在數(shù)控機(jī)床加工過(guò)程中不可或缺,其中,三次B樣條插補(bǔ)技術(shù)由于能夠較為精確地表征自由曲線曲面的形狀,在實(shí)際加工過(guò)程中得到了廣泛的應(yīng)用。三次B樣條插補(bǔ)技術(shù)控制頂點(diǎn)的方式為反算法,即通過(guò)構(gòu)造的輪廓曲線達(dá)到精確控制模型每個(gè)數(shù)據(jù)點(diǎn)的目的,并且可還原曲線的原有形狀,同時(shí)在數(shù)據(jù)點(diǎn)間進(jìn)行插值,計(jì)算容易且曲線光滑。為提高生產(chǎn)效率,在加工過(guò)程中采用連續(xù)B樣條插補(bǔ)的方式,不僅可以多點(diǎn)加工一次完成,還能減少運(yùn)行過(guò)程中電機(jī)的起停頻率。
由于在三次B樣條插補(bǔ)教學(xué)中公式推導(dǎo)繁復(fù),同學(xué)們難以對(duì)其構(gòu)造出的線型空間形象地理解,因此,利用相關(guān)的網(wǎng)絡(luò)技術(shù),開發(fā)了B樣條插補(bǔ)實(shí)驗(yàn)教學(xué)平臺(tái),同學(xué)們不受時(shí)間和空間的限制,登錄數(shù)控技術(shù)實(shí)驗(yàn)網(wǎng)站,即可完成實(shí)驗(yàn)過(guò)程,并加深對(duì)B樣條曲線的深入理解。
1 三次B樣條等參數(shù)插補(bǔ)
根據(jù)數(shù)控插補(bǔ)技術(shù)原理,插補(bǔ)的任務(wù)就是求出一個(gè)查補(bǔ)周期TS內(nèi),刀具沿加工軌跡曲線起點(diǎn)和終點(diǎn)進(jìn)行數(shù)據(jù)插值,使輪廓清晰完整。三次B樣條曲線的各坐標(biāo)變量可由參數(shù)u獲得,因此,設(shè)定每個(gè)周期TS內(nèi),有相等參數(shù)微小增量Δu,并由公式計(jì)算得到插補(bǔ)位置。具體可以通過(guò)以下步驟如下:
(1)維持Δu的恒速,計(jì)算出每個(gè)插補(bǔ)周期內(nèi)的進(jìn)給量。
(2)通過(guò)合理的選擇Δu,來(lái)保證插補(bǔ)精度和實(shí)際進(jìn)給率的加工需求。
1.1 B樣條曲線插補(bǔ)理論公式
初始條件的計(jì)算雖然含有乘法運(yùn)算,但可在插補(bǔ)預(yù)處理中算出,因而不會(huì)影響插補(bǔ)的實(shí)時(shí)性。
1.2 三次B樣條反算控制頂點(diǎn)法
設(shè)定n+1個(gè)數(shù)據(jù)點(diǎn)Pi(i = 0, 1, 2 …, n)以獲得n段曲線組成的B樣條曲線。一般三次B樣條插值曲線的首末端點(diǎn)是首末數(shù)據(jù)點(diǎn)P0和Pn。三次B樣條插值曲線的分段連接點(diǎn)是內(nèi)部數(shù)據(jù)點(diǎn)P1, P2, …, Pn+1,這樣控制頂點(diǎn)數(shù)為n+3個(gè),為了得到精確解,這就需要求解n+3個(gè)線性方程。但是由已知數(shù)據(jù)僅能獲得其中的n+1個(gè)方程,因此,需要一定的邊界條件從而確定其他方程,這樣增加了計(jì)算的復(fù)雜性。為了避免邊界條件的施加,P1和Pn-1數(shù)據(jù)段不再設(shè)定為分段連接點(diǎn),而是使其分別對(duì)應(yīng)首段(P0P2)和末段(Pn-2Pn)的參數(shù)t1∈[u3, u4]和t2∈[un, un+1]的點(diǎn)。因此,只需要求解n+1個(gè)方程,相應(yīng)的控制頂點(diǎn)減少到n+1個(gè)。
2 網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)設(shè)計(jì)
2.1 網(wǎng)絡(luò)實(shí)驗(yàn)工作平臺(tái)
服務(wù)器系統(tǒng)軟件采用Windows 2000 Professional作為網(wǎng)絡(luò)服務(wù)器,它有良好的安全措施與先進(jìn)的兼容能力,內(nèi)置Internet/Intranet功能,實(shí)用的管理導(dǎo)向,同時(shí)支持TCP/IP協(xié)議,并有較高運(yùn)行速度,系統(tǒng)發(fā)布則Microsoft的Internet信息服務(wù)(Internet Information Server 5.0,即IIS)。IIS是Windows組件,此組件可以很容易將信息和應(yīng)用程序發(fā)布到Web。而使各個(gè)用戶端則采用Windows XP、7操作系統(tǒng),IE9.0以上的瀏覽器。
2.2 網(wǎng)絡(luò)實(shí)驗(yàn)結(jié)構(gòu)
根據(jù)網(wǎng)絡(luò)實(shí)驗(yàn)B樣條曲線插補(bǔ)實(shí)驗(yàn)教學(xué)要求和內(nèi)容,網(wǎng)絡(luò)實(shí)驗(yàn)拓?fù)浣Y(jié)構(gòu)的設(shè)計(jì)如圖1所示。
3 網(wǎng)絡(luò)插補(bǔ)實(shí)驗(yàn)教學(xué)關(guān)鍵技術(shù)的實(shí)現(xiàn)
為了實(shí)現(xiàn)教學(xué)目的和要求,網(wǎng)絡(luò)插補(bǔ)實(shí)驗(yàn)教學(xué)的關(guān)鍵技術(shù)包括交互性、動(dòng)態(tài)性等。下面對(duì)其實(shí)現(xiàn)過(guò)程進(jìn)行具體分析。
3.1 交互性的實(shí)現(xiàn)
通過(guò)圖形用戶接口(Graphical User Interface,GUI),實(shí)現(xiàn)網(wǎng)絡(luò)插補(bǔ)實(shí)驗(yàn)教學(xué)的交互性。使用鼠標(biāo)或鍵盤來(lái)選擇菜單或按鈕以引發(fā)程序內(nèi)的特定操作行為,每個(gè)交互操作都會(huì)引發(fā)不同的程序行為。在操作之前,并不知道下一步要執(zhí)行哪條程序代碼。對(duì)每個(gè)操作行為,操作系統(tǒng)將決定在計(jì)算機(jī)上當(dāng)前運(yùn)行哪個(gè)程序?qū)λM(jìn)行處理,這一過(guò)程需要事件驅(qū)動(dòng)程序的加載。
3.2 動(dòng)態(tài)性的實(shí)現(xiàn)
動(dòng)態(tài)性的實(shí)現(xiàn)利用可視化動(dòng)畫來(lái)實(shí)現(xiàn)的。Java程序中需要連續(xù)設(shè)定出一系列的幀來(lái)實(shí)現(xiàn)動(dòng)畫的應(yīng)用,這就是實(shí)現(xiàn)動(dòng)畫的原理。其中,有兩種實(shí)現(xiàn)的方式,一是創(chuàng)建一系列的圖像和圖形,在固定的時(shí)間間隔順序地顯示幀數(shù),二是創(chuàng)建一系列的圖像和圖形,以固定的時(shí)間間隔在不同的位置顯示幀數(shù)。第一種方式由于需要顯示整個(gè)區(qū)域,會(huì)產(chǎn)生一定的閃爍效果。由于插補(bǔ)的算法、插補(bǔ)的方向和位置已知,因此,采用第二種方式比較合理,能夠使得動(dòng)畫穩(wěn)定和連續(xù)。
圖2是空間三次B樣條曲線插補(bǔ)的圖形用戶界面,以它為例來(lái)說(shuō)明動(dòng)態(tài)演示的實(shí)現(xiàn)技術(shù)。
樣條曲線的插補(bǔ)流程如圖3所示。
線程是一種新穎而有力的設(shè)計(jì)技巧,由于多處理器技術(shù)和主從計(jì)算機(jī)的日漸普及而更受重視,是一種無(wú)法避免的程序設(shè)計(jì)方向。
在Java程序設(shè)計(jì)里,線程的產(chǎn)生和運(yùn)行都是通過(guò)Thread類來(lái)實(shí)現(xiàn)的。產(chǎn)生Thread類的對(duì)象是產(chǎn)生線程的唯一方法。Thread類定義了許多方法,幫助運(yùn)行和處理線程,常用的方法如表1所示。
在Java中創(chuàng)建線程的方法有兩種:繼承類Thread和實(shí)現(xiàn)接口Runnable。在本課題中,由于專門建立了一個(gè)類樣條曲線類(SplineThread)用來(lái)實(shí)現(xiàn)線程,因此,采用繼承Thread類的方法來(lái)創(chuàng)建線程,并且把實(shí)現(xiàn)插補(bǔ)動(dòng)畫的程序代碼放到從Thread繼承來(lái)的方法run()中。具體的動(dòng)畫實(shí)現(xiàn)步驟如圖4所示。通過(guò)以上的動(dòng)畫實(shí)現(xiàn)步驟,就可以實(shí)現(xiàn)數(shù)控插補(bǔ)的動(dòng)態(tài)演示,達(dá)到可視的效果。
4 結(jié)語(yǔ)
計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)是不斷發(fā)展和更新的,網(wǎng)絡(luò)實(shí)驗(yàn)也得需要不斷地跟上時(shí)代的潮流。因此,網(wǎng)絡(luò)實(shí)驗(yàn)室建設(shè)的發(fā)展是一個(gè)長(zhǎng)期且持續(xù)的過(guò)程。網(wǎng)絡(luò)實(shí)驗(yàn)室的建設(shè)思想要堅(jiān)持實(shí)用且便捷,使學(xué)生不受時(shí)間和空間限制,利用好網(wǎng)絡(luò)平臺(tái)。他們隨時(shí)登錄數(shù)控技術(shù)實(shí)驗(yàn)網(wǎng)站,模擬實(shí)驗(yàn)過(guò)程,可加深對(duì)B樣條曲線理解,使學(xué)生達(dá)到事半功倍的學(xué)習(xí)效果。