目录
一. 综述 1
完成的内容(额外功能为加粗部分) 1
二. 算法介绍 3
1. DDA 3
2. bresenham 4
3.中点椭圆 5
4.bezier 绘制曲线 6
5.B-Spline 绘制曲线 7
6.图元变换 9
7. Cohen-Sutherland 线段裁剪算法 10
8. Liang-Barsky 线段裁剪算法 11
9.多边形扫描线填充算法 12
10.区域种子填充算法 14
11. Nicholl-Lee-Nicholl 线段裁剪算法 15
12. Sutherland-Hodgeman 多边形裁剪算法 16
12.字符图元绘制算法 17
三.Gui 系统介绍 17
1.总体框架 17
2.模块划分 18
4.界面设计 21
四.Cli 系统介绍 21
五.感受和总结 22
六.参考资料 25
七.进度日志 25
一. 综述
计划完成一个功能完善的图形学系统。实现各种图形学的算法,完成绘图软件的常见功能。如常见图形的绘制、平移、旋转、放缩、裁剪、填充等。系统分成两个部分,gui 部分以图形界面的形式进行交互;cli 部分以读取文件命令行的形式进行交互。
完成的内容(额外功能为加粗部分)
Gui 系统:新建画布、打开图片、保存图片、另存为、关于信息、退出画布、绘制直线(DDA 和 bresenham)、绘制多边形(DDA 和 bresenham)、绘制矩形、绘制三角形、绘制椭圆(中点法)、绘制曲线(Bezier 和 B-spline)、绘制字符、设置画笔颜色、粗细设置、铅笔、刷子、橡皮、选择图元(可调整图元的控制点和复制粘贴)、快捷键、平移图元、旋转图元、放缩图元、裁剪直线图元(Cohen-
Sutherland 、 Liang-Barsky 和 Nicholl-Lee-Nicholl ) 、 裁 剪 多 边 形 图 元
(Sutherland-Hodgeman)、填充图元(多边形扫描线填充和区域种子填充)、撤销操作、重做操作、清空画布、退出时如画板有修改则提示保存、状态栏显示当前鼠标像素位置、操作序列和状态、画板大小等
Cli 系统:识别文件指令、图元对象的生成建模、画布的绘制和保存