IT技术在光学教学中的应用

2014-08-12 00:00:08崔亮陈昊薄艳莉
考试周刊 2014年44期
关键词:Java语言

崔亮 陈昊 薄艳莉

摘 要: 在目前高校光学教学中,光路、成像、波动光学等教学内容由于比较抽象,经常需要相关仪器设备辅助。随着光学领域的研究不断深入、教学内容的调整与更新,现有教学所用仪器设备往往达不到教学要求,而且光学设备往往造价较高,精密程度要求严谨,在实际教学中经常造成损坏。IT技术的应用很好地解决了上述问题,本文介绍了JAVA语言在实现可视化光学教学中的应用实例,并阐明了利用IT技术辅助光学教学的必要性和可行性。

关键词: 光学教学 IT技术 JAVA语言

一、概述

由于光学教学内容难懂且抽象,在教学过程中需要呈现的光学现象很难在现实条件下显现,教师在教学过程中通常需要借助光学仪器设备向学生呈现一些光学现象,但受制于实验、实训条件,很多光学现象并不能直观地呈现在学生面前,势必使枯燥难懂的光学知识难以被学生直观理解。教师通常需要在课堂上绘制各类光路图,解释各种光学原理,既费时又耗力,未必达到理想的效果。

IT技术拥有可控、可视、可模拟等强大功效,现阶段作为课件主力军的“PPT”是课堂上多媒体教学的主力军,但其如果应用到光学教学中却还不够支撑教学所需。Java语言作为面向对象的高级语言势必可以解决这一教学问题。

二、开发工具选取

Java,是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心等领域。

Jsp,java服务器页面,是一种动态网页技术标准。它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,又能在其他操作系统上运行。

三、建立需求分析

用Java语言完成光路模拟,其结果应是可调、直观、可呈现的,需要设计并制作出网页做前台,程序为后台的光学模拟系统。系统开发的首要任务是需求分析,主要从以下方面开展。

一是谁将使用本系统?本教学系统的开发的首要用户是广大教学一线的教师和学生。二是系统参与者会通过此系统做些什么事情?采用本系统完成在现实条件下不能呈现的光学现象和光路的模拟显示。三是同一个参与者所做的实验结果是否一致?由于系统涉及的是物理学光学定理,既然是定理,就是永恒的,不会发生“同一个输入出现不同结果”的异常现象。

四、系统设计

本次设计主要针对光的反射、光的折射、凸透镜成像、类的建立。在此阶段中,尝试描述class的长相、class与class之间的互动方式。即描述“类—责任—协同合作关系(Class-Responsibility-Collaboration,CRC)”。下面以完成的4个任务中的第一个为例:Reflection.class。class的名称:其中建立了2个class。第一个class为:public class Reflection extends JApplet{/*code*/},这个是主类,它继承了JApplet。第二个class为:Mypanel extends JPanel implements ActionListener{/*code*/},这个类继承了JPanel类,以及实现了事件监听接口。class的责任:类Reflection的责任主要是对applet进行初始化,以及界面的布局。其中包括声明了Mypanel;JPanel downframe;布局如下:在downframe上放置一个textfield及两个button按钮,用以输入一些数据和进行事件的触发,如“Play”按钮表示可以根据参数来演示定理。“Clear the bodrd”按钮表示将界面upframe清屏。upframe由于继承了JPanel,而JPanel有特殊的画图功能,因此upframe主要负责接收由down frame中传来的参数数据,然后对数据进行处理,最后在upframe上根据光学定理进行画图演示。

class的协同合作。程序中总共有2个类,即Reflection类和Mypanel类。这两个类主要是通过button的触发获取textfield中的参数进行绘图工作的。在Reflection类中,将button和textfield的对象都声明为static型。一旦在Reflection类中的button触发了一个事件,类Mypanel立刻由其函数public void action Performed(Action Eventevt)throws NumberFormatException{}处理传递过来的参数,并且将无效的参数剔除,只接受有效的参数,再根据光学的相关定理计算,将计算结果传递给负责绘图的函数publicvoiddraw(GraphicscurG){},由它进行效果绘图。

在定义类和变量的基础上,主要工作也是核心工作就是算法。在编写程序以前,如何实现软件预期功能必须有一个有效的算法,这次设计的主体共分成了四个模块,即光的反射、光的折射、凸透镜和凹透镜成像。下面以凸透镜成像的基本原理为例。凸透镜成像主要是输入“物距”和“物高”进行点的确定计算。根据成像公式1/u+1/v=1/f,f是焦距,在实验中设定为10单位。在具体计算中,根据相似三角形进行公式计算,如下图所示:

三角形POY(Y代表Y正向)与三角形POY-(Y-代表Y的负向)。互为相似三角形。三角形POY-(Y-代表Y的负向)与三角形POY(Y代表Y正向)互为相似三角形。由相似三角形的原理找出一定的比例就能实现成像的光路,该程序正是在这样的算法思路下完成的。

以上所有点的计算,都由在类中的compute()函数完成。当计算完毕后,各个类中的点成员变量都赋予了相应的值,然后调用draw()方法,在JPanel上画出线条即可。

五、软件测试

在软件测试中我们选取了教师、学生代表,测试出现的主要问题局限于以正确的有效输入为之进行正确的“引导”,进行工作。对于程序编写者来说,需要让使用者知道什么样的数据可以输入,系统才可以接受并且完成工作;什么样的数据,系统读了之后会出错,出错后需有相对应的提示告知。这里在程序设计中使用了Java中的异常处理,解决了上述问题。

六、结语

通过本光学模拟系统的设计和实现,体现了IT技术(Java语言)在模拟仿真教学中起到的重要作用,通过本系统的使用加深了学生对光学基本原理的理解,加深了对光学知识点的印象,解决了广大教师上课之所急、所需。随着IT技术的不断发展和光学研究的不断深入,IT技术在光学教学中的应用将更加深入和广泛。

参考文献:

[1]陈晓江.分布式系统软件体系结构建模与开发方法研究[D].西北大学,2010.

[2]刘菲.解析基于JSP/JavaBean技术的Web应用系统开发[J].电脑编程技巧与维护,2011(22).

[3]吴毅杰,张志明.C/S与B/S的比较及其数据库访问技术[J].舰船电子工程,2003(02).

猜你喜欢
Java语言
Java语言图形编程工具的设计及应用
科技传播(2017年4期)2017-04-24 20:20:00
高职《Java语言程序设计》课程的“微课”制作与应用研究
论开闭原则在JAVA程序设计中的应用
基于Android平台的健康医疗APP设计与开发
大学生创业平台设计与实现
计算机软件开发中的JAVA编程语言分析
用户隐私保护之手机密码保险箱
异常结构对Java程序分析的影响
Android手机三轴加速度传感器使用
科技资讯(2015年8期)2015-07-02 18:44:39
基于Java语言的手机软件开发技术分析