基本图元的绘制ppt课件.ppt

基本图元的绘制ppt课件.ppt

ID:58917378

大小:3.75 MB

页数:82页

时间:2020-09-29

基本图元的绘制ppt课件.ppt_第1页
基本图元的绘制ppt课件.ppt_第2页
基本图元的绘制ppt课件.ppt_第3页
基本图元的绘制ppt课件.ppt_第4页
基本图元的绘制ppt课件.ppt_第5页
资源描述:

《基本图元的绘制ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、OpenGL基本图元的绘制第6章6.OpenGL基本图元的绘制9/19/20211四川大学计算机学院上一章讲述了如何生成点、线和圆等基本几何构造。本章重点如何在指定的输出设备上构造多边形域、像素数组等高级图元提出问题9/19/20212四川大学计算机学院主要内容矩形填充内外测试多边形扫描转换区域填充多边形扫描转换与区域填充的区别反走样主要内容作业9/19/20213四川大学计算机学院学习目标深入认识图形函数包功能,了解函数是如何实现的,从而可改进图形函数以适应某些特殊的应用需求。开发和改进图形技

2、术,发展网络图形应用,开发更快的实时性更强的图形显示。掌握多边形生成算法掌握区域填充算法了解反走样概念和相应算法学习目标9/19/20214四川大学计算机学院孙家广,计算机图形学(第三版)ComputerGraphicswithOpenGL,3rdEdition,Hearn参考资料本章主要参考资料Content9/19/20215四川大学计算机学院5.1矩形填充特殊的多边形。在窗口系统中应用很多,在图形软件包中将它单独当作一类图元处理。yminxminxmaxymax9/19/20216四川大学

3、计算机学院xminxmaxyminymaxyminxminxmaxymax填充前填充后如何完成填充的??如何实现算法??9/19/20217四川大学计算机学院矩形扫描转换算法FillRect(Rect*rect,intcolor){intx,y;for(y=rect->ymin;y<=rect->ymax,y++)for(x=rect->xmin;x<=rect->xmax;x++)setPixel(x,y,color);}Content9/19/20218四川大学计算机学院5.2内外测试区域填

4、充算法和其它图形处理常需要鉴别对象的内部区域。在基本几何形体中,多边形通常被定义为不自交的。标准多边形的例子有三角形、四边形、八角形和十角形。这些对象的组成边仅在顶点处连接,在平面内没有其它公共点。鉴别标准多边形的内部区域通常是—个直观过程。9/19/20219四川大学计算机学院但在大多数图形应用中,我们可以指定填充区域顶点的任何次序,包括有相交的边的次序。如图。对这样的形状,平面上哪个区域是“内部”和那个区域是对象的“外部”并不是一目了然的。图形软件包通常采用奇-偶规则或非零环绕数规则来鉴别物

5、体的内部区域。9/19/202110四川大学计算机学院奇-偶规则,也称奇偶性规则或偶奇规则,它在概念上从任何位置P到对象坐标范围以外远距离画一直线(射线),并统计沿该射线与各边的交点数目。假如与这条射线相交的多边形边数为奇数,则P是内部点,否则P是外部点。为了得到精确的边数,必须保证所画射线不与任何多边形顶点相交。后面所讨论的多边形扫描线填充算法是用奇偶规则的区域填充的一个例子。奇偶规则9/19/202111四川大学计算机学院非零环绕数规则。它统计有向多边形边环绕某一特定点的次数,这个数称为环绕

6、数。二维物体的内部点被定义为具有环绕数为非0值。判定规则:在对多边形应用非零环绕数规则时,将环绕数初始化为零。从任意位置P画一射线,所选择的射线不能与多边形任何顶点相交。当从P点沿射线方向移动时,对穿过射线的边记数,每当多边形从右到左穿过射线时,环绕数加1,从左到右时,环绕数减1。在所有穿过的边都已记数后的环绕数的最后值决定P的相应位置。假如环绕数为非0,则P定义为内部点,否则P是外部点。非零环绕数规则9/19/202112四川大学计算机学院对于标准多边形和其它简单形状,奇偶规则和非零环绕数规则

7、会给出相同的结果,但对于复杂形状,两种方法会产生不同的内部和外部区域。用两种方法得到内外判断结论不同9/19/202113四川大学计算机学院确定有向边与射线相交的方法:1.将从P点出发的射线向量u与边向量E的叉积u×E,如果叉积的z值大于0则,边从右到左穿过射线,环绕数加1,否则环绕数减1。2.较简单的算法是用点积代替叉积,为此,我们建立一个垂直u且p沿u方向看是从右到左指向的向量v,例如u的元素是(ux,uy),则垂直于u的向量v的元素(-uy,ux),如果v·E>0,则从右到左穿越射线,环绕

8、数加1,否则减1Content9/19/202114四川大学计算机学院5.3多边形扫描转换逐点判断算法扫描线填充算法边缘填充算法9/19/202115四川大学计算机学院5.3.1逐点判断算法实现扫描转换多边形最简单的算法是逐点判断,即判断一个像素是否在多边形内部,是则填充颜色,否则放弃两种常用的判断像素在多边形内部的方法:射线法—类似奇偶规则弧长法—类似非0环绕数规则缺点:速度慢、效率低9/19/202116四川大学计算机学院5.3.2扫描线填充算法本算法适合凸多边形、凹多边形。如何进行多边形填

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。