计算机图形学辅助教学网站

摘 要:本文主要介绍了计算机图形学辅助教学网站的开发过程,核心论述了三维图形在Web环境下实时交互的实现.针对图形学三维知识的教学难点,为了实现Web环境下实时互动的三维教学演示,本课题采用了Ja的Applet嵌入网页中,同时通过JOGL(JaBindingorOpenGL)来实现Applet中的三维图形的绘制,并通过数字签名技术绕过Applet的安全机制,来达到可交互的目的.

关 键 词:教学网站;三维图形;JOGL;Applet

中图分类号:TP391.41文献标识码:A文章编号:1007-9599(2012)17-0000-02

1前言

1.1课题的目的及意义

《计算机图形学》是计算机学科中比较抽象,难懂的一门专业基础课.按照普通的教学模式,学生不易接受.如能结合《计算机图形学》辅助教学网站来教学,使用动画和演示程序则能生动、直观地揭示计算机图形学算法的精髓和本质,由于实现了算法的可视化,使学生的理论思维与形象思维有机的统一起来,有利于提高教学效果.

2相关技术简介

Web环境下的三维图形交互技术是本课题的难点,本课题通过对以下相关技术的研究和使用克服了这一难点.主要包括Ja中Applet以及JOGL技术,JOGL即是Ja的OpenGL绑定.

在面向对象的语言中,Ja是一种真正的面向对象的编程语言.为了在Ja中使用OpenGL,出现了许多新的想通过友好的JaAPI来使用OpenGL的尝试,如Ja3D,OpenGLforJaTechnology等,其中有一种称为Ja对于OpenGL的绑定的技术,得到了Sun公司和SGI公司的支持,是目前的一种比较令人满意的在Ja中使用OpenGL的技术[1].


3网站建设总体设计

3.1网站制作流程与总体规划

网站的制作流程如下:

第一步:网站定位.

第二步:依据需求分析对网站结构进行总体规划.

第三步:划分各功能模块.

第四步:制定网站建设规则和标准.

第五步:选择开发需要的软硬件环境.

第六步:构建网站.

第七步:网站的测试.

第八步:网站的发布与维护管理.

由于本课题的重点是WEB下三维图形的交互,因此建站环节不做详解

4网站详细设计

本章重点介绍教学演示模块的详细设计.

根据需求分析和概要设计,当点击演示子目录时,显示内容分别如图4-1、4-2所示.其中,图4-2为演示子目录中的鼠标交互结果图.

在介绍各个演示的算法实现前,首先介绍一下三维图形的显示流程.如图4-3所示.

基于三维图形显示原理图,我们设计出本模块的六个演示(几何变换、投影变换、光照、材质、纹理、雾化)及算法.首先要实现演示的主程序框架,即JOGL下的特殊的Applet框架.同时该演示运行界面主要包括三个窗口:世界坐标系窗口、屏幕坐标系窗口、命令行窗口.因此,我们需要分别实现这三个窗口,然后通过主框架的调用,完成演示的实现.

4.1主程序的框架实现:

(1)Ja下的Applet框架

Applet框架的主要功能是创建一个显示窗口,并整体控制程序的生命周期,同时负责调用三个子窗口的,主要分为四个部分:

①init()方法:初始化程序,主要完成一些Applet构造方法不能完成的工作.

②start()方法:启动程序,初始化后,重入等都将自动调用.

③stop()方法:停止程序,用于停止消耗系统资源.

④destroy()方法:销毁程序,浏览器关闭时自动调用,以清除所用资源.

(2)JOGL下的Applet框架

JOGL中的Applet框架与Ja下的Applet框架相同,包括上面四个部分,但是在各部分中需要添加自己的实现代码.

4.2命令行窗口

该窗口功能的实现主要通过定义一个类CommandWindow来完成.

该部分主要显示该演示所需的关键代码及随时更新其中可变的坐标参数.

4.3屏幕坐标系窗口

该窗口功能的实现主要通过定义一个类ScreenWindow来完成.

该部分主要显示绘制出来的三维物体模型,同时还包含两种用户交互.

4.4世界坐标系窗口

该窗口功能的实现主要通过定义一个类WorldWindow来完成.

该部分主要显示视点,世界坐标系,视景体,以及在世界坐标系下看到的三维物体模型.

上边详细讲述了演示中三个窗口的相应处理,下面我们以几何变换为例来详细介绍演示的实现过程.

该演示的类名称为TranormationApplet,其主框架实现同上.

各窗口的主要处理如下:

(1)命令行窗口

本窗口中除了前面提到的数据结构,还要用到的数据结构为:

①定义视点

publicstaticfloateye[]等于{0.0f,0.0f,2.0f};//定义视点的位置

publicstaticfloatat[]等于{0.0f,0.0f,0.0f};//定义物体的位置

publicstaticfloatup[]等于{0.0f,1.0f,0.0f};//定义向上的向量

②定义矩阵

projection:投影矩阵,公有静态数组;

modelview:几何矩阵,公有静态数组;

inverse:转置矩阵,公有静态数组;

③定义标志性变量

publicstaticbooleanswapped等于false;//判断是否交换平移和旋转的位置

(2)屏幕坐标系窗口

该窗口继承前边提到的全部监视器.

数据结构:

publicstaticbooleanflag等于false;//判断是否在该窗口进行交互控制

基本函数:publicvoidJudge(floatupdate,intselection)

功能:更新变量值.

(3)世界坐标系窗口

该窗口继承前边提到的事件监视器.

数据结构:

publicstaticbooleanflag等于false;//判断是否在该窗口进行交互控制

本窗口的绘制以及用户交互的实现过程为:

在事件中,窗口重绘操作的处理不同.窗口绘制操作的CommandDisplay()函数代码有所不同.

上面主要介绍几何变换演示的主要实现过程,其它的演示的实现过程类似,只是具体代码有些不同,本文不再详述.

5小结

本章重点介绍了教学演示中的演示的实现过程,至此,完成了本网站的建设.

类似论文

计算机图形学的教学与实验

摘 要:分析当前计算机图形学课程教学和实验中存在的若干问题,提出通过不断更新和优化课程内容提高。
更新日期:2024-10-5 浏览量:18178 点赞量:5168

计算机图形学双语教学的实践与

文章编号:1672-5913(2013)22-0083-05中图分类号:G642摘 要:探讨通过双语教学增强信息与计算科学专业。
更新日期:2024-4-25 浏览量:58386 点赞量:13590

《计算机图形学》教学改革

摘 要:本文围绕当前《计算机图形学》课程教学中存在的问题,从教学方式、实例教学以及。
更新日期:2024-6-20 浏览量:81661 点赞量:18109

计算机图形学实验教学

摘 要:《计算机图形学》是一门实践性较强的课程,实验课程是其不可缺少的教学环节 本文针对该课程实验教学。
更新日期:2024-2-14 浏览量:31013 点赞量:7603