好文档 - 专业文书写作范文服务资料分享网站

计算机图形学课程设计有效边表填充算法的实现

天下 分享 时间: 加入收藏 我要投稿 点赞

③ 为了验证改进的有效边表填充算法,现将本程序的像素大小恢复为1:1,按

比例扩大多边形的顶点坐标,测试结果如下:

从上图可以看出填充过后的多边形与原多边形P0P1P2P3P4P5P6的形状一致,

该算法验证通过。

11

④ 测试其他多边形

长方形:

三角形:

12

五角星:

13

从以上结果来看,该算法基本得到完美实现。而程序的执行时间来看,生成边表的时间(包括分配内存、对桶中的结点进行排序等)远比填充像素点的时间要长。因此,该算法的效率虽然很高,但对于表的维护和排序开销太大,它适合软件实现而不适合硬件实现。

14

五、总结

通过本次课程设计,我掌握了多边形的填充算法,了解了OpenGL的运行结构,

熟悉了很多OpenGL的函数,对OpenGL编程也产生的浓厚的兴趣。同时也巩固了对计算机图形学知识的掌握,锻炼了我对手实验的能力,看清了自己的水平,认识到了自己的不足。

在本次课程设计中,存在一些不足之处。比如对边界的处理,课本上的说法模糊

不清,在网上也没有找到相应的解答,我只能根据自己的理解来试着解决;这方面也存在没有及时和老师沟通的原因。从这一点上,我认识到理论和实践的差别,我们应该多实践才能真正掌握理论。

还有就是完全填充后的多边形,边缘有“锯齿”现象,不知道是我程序的原因还

是算法的问题。或许对于多边形的填充算法还应该处理“锯齿”。

六、源代码

//源代码仅包含文件PolygonFilling.cpp

#include #include #include #include

#define EPSILON 0.000001 //最小浮点数

//点结构体 struct Point {

int x; //x坐标 int y; //y坐标 };

//线结构体 struct Line {

Point high_point; //高端点

15

计算机图形学课程设计有效边表填充算法的实现

③为了验证改进的有效边表填充算法,现将本程序的像素大小恢复为1:1,按比例扩大多边形的顶点坐标,测试结果如下:从上图可以看出填充过后的多边形与原多边形P0P1P2P3P4P5P6的形状一致,该算法验证通过。11
推荐度:
点击下载文档文档为doc格式
19gji63mk59lpyv23wwc1symv1joq10075s
领取福利

微信扫码领取福利

微信扫码分享