里面包含大多数计算机图形学的实现算法
(1)画直线、画多边形、画圆、画字符
(2)对多边形进行填充
(3)图形裁剪
(4)图形的几何变换
(5)三维图形的消隐及着色
1、 界面要求
(1) 系统采用Windows通用的界面式样;
(2) 所有功能必须集成在一个界面下;
(3) 不同的功能采用不同的菜单;
(4) 所有的功能必须具有菜单和图标两种操作方式;
2、 画直线
(1) 可以任意指定直线的起止点位置;
(2) 可以任意设置直线的线宽;
(3) 可以任意设定直线的颜色;
3、 画多边形
(1) 可以任意指定多边形的边数和多边形的节点位置;
(2) 可以任意设置多边形边线的线宽;
(3) 可以任意设定多边形边线的颜色;
4、 画圆
(1) 可以任意指定圆心和半径;
(2) 可以任意设置圆弧边线的线宽;
(3) 可以任意设定圆弧边线的颜色;
5、 画字符
(1) 可以任意指定字符的位置;
(2) 可以任意设置字符的大小、颜色、方向、字体等;
(3) 所画的字符对象可以是单个字符,也可以是具有多个字符的字符串;
6、 多边形填充
(1) 可以对任意形状的多边形进行填充;
(2) 可以处理包含洞的多边形;
(3) 可以通过选择多边形或在指定多边形内的一点(种子点)进行多边形填充;
(4) 可以任意设定多边形填充的颜色;
7、 裁剪
(1) 以矩形为裁剪窗口;
(2) 被裁剪的对象包括线段、多边形、圆、字符等,其数量不限;
(3) 可以任意指定矩形窗口的位置;
(4) 线段裁剪算法可以为逐点判断法、cohn-Sutherland算法等;其它算法不限;
8、 几何变换
(1) 图形变换包括对二维图形进行平移、旋转、缩放、对称等变换,以及对三维图形进行平移、旋转、缩放等变换;
(2) 平移、旋转和缩放可以通过鼠标操作和输入变换参数两种方式进行;
(3) 二维图形可以至少包括直线、多边形、圆、字符等;
(4) 三维图形至少包括多面体;
(5) 二维图形数据可以通过本系统的画图功能生成,也可以通过文件读入;三维图形数据采取文件读入方式;
9、 消隐
(1) 消隐对象为多面体,多面体的形状不限;
(2) 消隐所采用的算法不限;
(3) 多面体图形数据采取文件读入方式;
(4) 三维图形的显示步骤必须是:在读入多面体数据后,首先显示没有经过消隐的三维图形,在输入消隐处理命令后,显示消隐后的三维图形;
1