- 141
- 0
- 约3.76千字
- 约 7页
- 2016-12-09 发布于天津
- 举报
《计算机图形学》实验报告
课程名称 《计算机图形学》 实验名称 实现多边形扫描填充算法 姓名 钟玉钊 学号班级 计算机052 实
验
目
的 掌握多边形扫描填充算法的思路,并用Turbo C编程实现。 实
验
内
容 使用Turbo C绘点函数,根据扫描线填充算法完成以下程序:输入顶点数,并按顺时针输入多边形各顶点的坐标,首先画出多边形,然后用另一种颜色填充多边形。
使用时间函数估算本算法的速度。 算
法
原
理
1、多边形内外判别
判断一个点是否在多边形内部,可以在多边形外部找一个点和这个点连接起来(例如在同一水平上的点,构成一条扫描线),根据这条线和多边性的交点数的奇偶性,就可以判断:如果交点数目为奇数,则该点在多边形内部,否则在多边形外部。但是如果交点是多边性的顶点,则需要根据顶点的特征来决定交点的计数:如果构成顶点的边在线的同一侧,则交点数认为是两个,否则认为是一个。当时用水平扫描线判断点的内外时,解决计数的方法:不在同一侧的两条边中较低的边的高端顶点去掉,不会影响多边形,而且顶点也只会被计算一次。设顶点B的两条边为AB、BC,则处理方法如表所示:
A.y、C.yB.y或A.y、C.yB.y
两条边在扫描线的同一侧
无需处理
A.yB.yC.y
两条边在扫描线的不同侧
BC边高的端在y方向上缩短
原创力文档

文档评论(0)