摘 要
基于本学期计算机图形学课程的理解以及课外查找的资料内容,实现了一个基于Java2D及Java3D的图形编辑系统,可以供用户实时交互。基本功能包括二维图形的输入、编辑(裁剪+二维变换)、图像存储以及三维图形(.off文件)的载入。应用技术内容包括各个二维图元的生成算法、变换算法、图像裁剪算法、off文件读取算法以及Java2D/3D编程与API应用技术。整个工程遵循面向对象的设计原则,开发过程具有典型性。文档中注明的[x]在文档末尾,是该算法或过程参考的内容。
关键词:面向对象;Java2D/3D;二维图形;三维图形;图形化系统;交互
计算机图形学研究关于计算机图形对象的建模、处理与绘制等方面的理论和技术。其基本目标是:构建图形对象的虚拟世界,并按特定视角将虚拟模型的场景载图形设备上绘制出来。
图形系统一般由建模组件和绘制组件两大部分组成,建模组件负责虚拟世界模型的构建,绘制组件完成场景的绘制。本次工程的核心也就是完成各类图形的建模并通过合适的绘制组件使其在屏幕上输出出来。
图形编程几乎在计算机体系结构的每个层次都留下了自己的身影。它的大致发展趋势是,从平台相关的底层方法向高层抽象的可移植环境发展。所包含的内容也远大于本工程的范畴。不过,可以从本工程开始,窥见一些基础的图形编程理念。
总工程分为两个大方面:二维图形与三维图形。能力有限,并没有能够将这两方面功能结合在一个程序中,下面也将分两部分来介绍工程结构。