- 1
- 0
- 约7.6千字
- 约 52页
- 2018-01-03 发布于湖北
- 举报
课件第2章 光栅图形学_123
若 d0, 则取P1为下一象素,而且再下一象素的判别式为 若d=0, 则应取P2为下一象素,而且下一象素的判别式为 第 一个象素是(0,R),判别式d的初始值为 * 为了进一步提高算法的效率,可以将上面的算法中的浮点数改写成整数,将乘法运算改成加法运算,即仅用整数实现中点画圆法。 使用e=d-0.25代替d e0=1-R * 算法过程 MidPointCircle(int r int color) { int x,y; float d; x=0; y=r; d=1.25-r; circlepoints (x,y,color); //显示圆弧上的八个对称点 while(x=y) { if(d0) d+=2*x+3; else { d+=2*(x-y)+5; y--;} x++; circlepoints (x,y,color); } } * 2.3 多边形的扫描转换与区域填充 多边形有两种重要的表示方法:顶点表示和点阵表示。 多边形的扫描转换:把多边形的顶点表示转换为点阵表示。 区域可采用内点表示和边界表示两种表示形式。 区域填充:指先将区域的一点赋予指定的颜色,然后将该颜色扩展到整个区域的过程。 * 多边形分为凸多边形、凹多边形、含内环的多边形。 * 2.3.1多边形的扫描转换 2.3.1.1 扫描线算法 基本思想: 按扫描线顺序,计算扫描线与多边形的相交区间,再用要求的颜色显示这些区间的象素,即完成填充工作。 对于一条扫描线填充过程可以分为四个步骤: 求交 排序 配对 填色 * 一个多边形与若干扫描线 * 数据结构 活性边表(AET):把与当前扫描线相交的边称为活性边,并把它们按与扫描线交点x坐标递增的顺序存放在一个链表中 结点内容 x:当前扫描线与边的交点坐标 △x:从当前扫描线到下一条扫描线间x的增量 ymax:该边所交的最高扫描线号ymax * 新边表(NET): 存放在该扫描线第一次出现的边。若某边的较低端点为ymin,则该边就放在扫描线ymin的新边表中 上图所示各条扫描线的新边表NET * 假定当前扫描线与多边形某一条边的交点的x坐标为x,则下一条扫描线与该边的交点不要重计算,只要加一个增量△x。 设该边的直线方程为:ax+by+c=0; 若y=yi,x=x i;则当y = y i+1时, 其中 为常数 * 扫描线与多边形的顶点或边界相交时,必须正确的交点的取舍。只需检查顶点的两条边的另外两个端点的y值。按这两个y值中大于交点y值的个数是0,1,2来决定。 * 算法过程 void polyfill (polygon, color) int color; 多边形 polygon; { for (各条扫描线i ) { 初始化新边表头指针NET [i]; 把y min = i 的边放进边表NET [i]; } y = 最低扫描线号; 初始化活性边表AET为空; for (各条扫描线i ) { * 把新边表NET [i] 中的边结点用插入排序法插入AET表,使之按x坐标递增顺序排列; 遍历AET表,把配对交点区间(左闭右开)上的象素(x, y),用drawpixel (x, y, color) 改写象素颜色值; 遍历AET表,把y max= i 的结点从AET表中删除,并把y max i 结点的x值递增?x; 若允许多边形的边自相交,则用冒泡排序法对AET表重新排序; } } /* polyfill */ * 2.3.1.2边界标志算法 基本思想: 帧缓冲器中对多边形的每条边进行直线扫描转换,亦即对多边形边界所经过的象素打上标志。 然后再采用和扫描线算法类似的方法将位于多边形内的各个区段着上所需颜色。 使用一个布尔量inside来指示当前点是否在多边形内的状态。 * 算法过程 void edgemark_fill(polydef, color) 多边形定义 polydef; int color; { 对多边形polydef 每条边进行直线扫描转换; inside = FALSE; for (每条与多边形polydef相交的扫描线y ) for (扫描线上每个象素x ) { if(象素 x 被打上边标志) inside = ! (inside);
您可能关注的文档
- 精品粉体涂装=品质内训资料.ppt
- 课件第7讲 异常.ppt
- 课件代金龙 进气压力传感器故障检修1.ppt
- 精选有效数字及运算法则.ppt
- 课件安培力 磁电式仪表.ppt
- 精品电子技术课件005.ppt
- 课件磁铁的应用.ppt
- 课件超等长训练.ppt
- 课件第2讲 四冲程内燃机的充气效率.ppt
- 精选现代企业质量管理.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 黑龙江省园林绿化工程消耗量定额2024版.docx VIP
- N—乙酰氨基葡萄糖合成方法的改进.pdf VIP
- L-CKC L-CKC 220工业闭式齿轮油 工业润滑剂 220 说明书.pdf
- 2025年春人教版历史七年级下册全册教学课件.pptx
- 自考14653《证券投资理论与实务》高频考点串讲.docx VIP
- 2026年湖南安全技术职业学院单招职业技能考试题库及完整答案详解一套.docx VIP
- 新城商开事业部产品配置标准及成本控制手册(2020版).pdf VIP
- 四川大学《通信原理》期末试题B卷.docx VIP
- 2024年度实验室CNAS内审全套资料.pptx VIP
- 2026年度护理人员培训计划(两篇).docx VIP
原创力文档

文档评论(0)