计算机图形学-填充与裁剪算法的实现.docVIP

  • 184
  • 0
  • 约1.5万字
  • 约 33页
  • 2017-02-12 发布于重庆
  • 举报

计算机图形学-填充与裁剪算法的实现.doc

计算机图形学-填充与裁剪算法的实现

计算机图形学课程实验 报 告 实验题目 填充与裁剪算法的实现 班 级 姓 名 学 号 指导教师 日 期 实验说明 试验目的: 掌握图形填充与裁剪算法的基本思想,并能上机编程实现相应的算法。。 试验地点: 教九楼401 数学系机房 实验要求 Direction : 1.每个学生单独完成;2.开发语言为TurboC或C++,也可使用其它语言;3.请在自己的实验报告上写明姓名、学号、班级;4.每次交的实验报告内容包括:题目、试验目的和意义、程序制作步骤、主程序、运行结果图以及参考文件;5. 自己保留一份可执行程序,考试前统一检查和上交。 实验内容 实验题一 1.1实验题目 上机编程序实现多边形区域填充算法。要求: 1 多边形要求采用顶点表示,且顶点的个数和顶点坐标可以随机输入; 2 要求先画出多边形,画出多边形的同时要求标明各顶点坐标; 3 水平扫描线的顺序和填充颜色可以自由选择。 1.2实验目的和意义 掌握多边形区域填充的概念,掌握扫描线填充法。 1.3程序制作步骤 包括算法的基本思想、流程图、设计步骤等 一、算法过程(设计步骤) (1)根据给出的顶点坐标数据,按y递增顺序建立ET表。 (2)根据AET指针,使之为空。 (3)使y ymin(ymin为顶点坐标中最小y值)。 (4)反复做下述各步,直至y ymax(顶点坐标中y的最大值) 图 2.1 1.4主程序 /****************************第一部分********************************** *(头文件,宏定义,点的结构体Point,原始边记录结构体RamEdge,边记录类Edge */ #include #includegraphics.h #include #include #include #define MAXSIZE 800 using namespace std; //点的结构体 typedef struct int x; int y; Point; //原始边记录,只记录起始和结束点,以Y递增定义 typedef struct Point start; Point end; RamEdge; //边记录类Edge(用于ET表和AET表) class Edge public: int yMAXSIZE; float xbottom; float increx; Edge int yMAXSIZE 0,int xbottom 0,float increx 0 this- yMAXSIZE yMAXSIZE; this- xbottom xbottom; this- increx increx; ; bool operator Edge a return xbottom a.xbottom; ; ; /****************************第二部分********************************** * 根据已给顶点求出原始边记录 */ RamEdge* SoluteRamEdge Point p[],int n int i; RamEdge *r; if r RamEdge * malloc sizeof RamEdge *n NULL cout 内存空间不足 endl; exit 1 ; for i 0;i n-1;i++ if p[i].y p[i+1].y r[i].start.x p[i].x; r[i].start.y p[i].y; r[i].end.x p[i+1].x; r[i].end.y p[i+1].y; else r[i].start.x p[i+1].x; r[i].start.y p[i+1].y; r[i].end.x p[i].x; r[i].end.y p[i].y; if p[n-1].y p[0].y r[n-1].start.x p[n-1].x; r[n-1].start.y p[n-1].y; r[n-1].end.x p[0].x; r[n-1].end.y p[0].y; else r[n-1].start.x p[0].x; r[n-1].start.y p[0].y; r[n-1].end.x p[n-1].x; r[n-1].end.y p[n-1].y; return r; /* ****************************第三部分********************************** * 求当前扫描线i的AET链表 */ list ET_Structor RamEdg

文档评论(0)

1亿VIP精品文档

相关文档