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