韩德东
摘 要:高校实验室是学生进行实践能力培养和学术研究的重要场所,同时也是学生对理论知识进行实践检验和加深认知的场所,在创新型人才培养中占据有重要地位。计算机网络实验室的建设,从专业建设、实际需要和技术发展的角度出发,需要兼顾实用性和先进性,实验内容和教学方法结合实际教学需要不断改进。文章针对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样条曲线理解,使学生达到事半功倍的学习效果。