版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 基本图形生成基本图形生成:将用参数定义的平面图形元素转换为点阵,确定出图形元素在点阵平面上对应的所有点。平面上的图形元素分为三类:点、线、面。点:无需生成,可以直接按坐标值输出到图形设备上,点的输出是任何点阵图形设备所具备的基本功能,也是其它图形元素输出的基础。线:直线、圆周线、椭圆周线、二次曲线、三次曲线。面:多边形,圆、椭圆及任意封闭区域。1例2 (1,1)-(9,6)直线的点阵2例3 (1,1)-(6,9)直线的点阵3例4 (2,3)-(8,7)直线的点阵4数值微分法计算步骤:对给定的两个直线端点(x1, y1),(x2, y2),有:x2x1,|x2x1|y2y1|。(1)求得
2、两点连线的斜率:k(y2y1)/ (x2x1)(2) px1x1,py1y1,得直线上的点(px1, py1);令i1;(3)若pxix2,则计算结束;否则,继续;(4)pxi+1pxi1, pyi+1pyik,得直线上的点( pxi+1, int(pyi+1+0.5) );(5)令ii1,转到(3)。5作业:(1) 用直线方程法生成(1, 3),(4, 9)之间的直线。写出计算过程并画出点阵图。(2) 用数值微分法生成(2, 3),(9, 7)之间的直线。写出计算过程并画出点阵图。(3) 写出 y2y1,|y2y1|x2x1|的情况下,数值微分法的计算步骤。6直线斜率0k1时,两个可能的下一
3、点7理想点与两个候选点的差值8Bresenham计算步骤:给定直线的两个端点(x1, y1),(x2, y2),有:x2x1,y2y1,x2x1y2y1(1) 求得xx2x1,yy2y1c12y2x,c22y(2) 取px1x1,py1y1,得点(px1,py1);求得d12yx,令k1;(3) 若pxkx2,结束;否则,继续;(4) 取pxk+1pxk1若:dk0,则:pyk+1pyk1,dk+1dkc1否则:pyk+1pyk,dk+1dkc2得点(pxk+1,pyk+1);(5) 令kk1,转到(3)。9(2,2)-(5,7)直线的点阵10作业:(1)用Bresenham算法生成(2, 4
4、),(8, 8)之间的直线。写出计算过程并画出点阵图。(2)用Bresenham算法生成(3, 2),(7, 8)之间的直线。写出计算过程并画出点阵图。(3)写出陡峭向上的Bresenham画线函数void DrawLine2()。(4)写出陡峭向下的Bresenham画线算法的计算步骤。11半径为5的1/8圆周点12用镜像关系生成其它7个点13半径为5的完整圆14作业:(1)对圆心为原点,半径为7的圆,生成其1/8圆弧段上的点。(2)写出完整的Bresenham画圆算法计算步骤(圆心为(x0,y0),半径为r,生成圆周上的全部点)(3)对圆心为(2,5),半径为6的圆,生成全部圆周点。(4)
5、写出Bresenham算法完整的画圆程序: DrawCricle(int x0,int y0,int r)15多边形填充边点配对算法:(1)依次生成多边形各条边线上的点;(2)将各点按y、x进行排序;(3)将各点依次两两配对形成多边形内的所有扫描线段。16作业:(1) 对圆心为(2,5)半径为6的圆进行填充。首先给出所有的圆周点,然后给出填充圆的所有扫描线段。(2) 尝试写出圆填充程序。(3) 写出八联通区域种子填充的程序。17点的裁剪:待裁剪的点为(x, y)。裁剪窗口各边线的坐标值为:上边线WTop,下边WBottom,左边WLeft,右边WRight。若:WLeftxWRight且WBo
6、ttomyWTop,则显示该点,否则不显示。18扫描线裁剪:待输出的扫描线为(x1, x2, y),有x2x1,依次进行如下处理:若yWTop或yWBottom,则全不显示,结束;若x2WRight,则全不显示,结束;若x1WLeft且x2WRight,则全显示,结束;若x1WRight,则x2=WRight;输出(x1, x2, y)。19直线裁剪的情况:20端点编码的9种结果:21直线编码裁剪算法处理步骤:若两个端点的编码均为0,则两个端点均位于窗口内,线段全显示,结束;将两个端点的编码的编码按位与,若结果不为0,则线段必然位于某条边线之外,线段全不显示,结束;(这时,某个端点必然存在为1的位,且另一个端点相应的位为0,线段将部分显示或全不显示)则,对任一个存在1位的端点,用1位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《GBT 33533-2017温泉服务 基本术语》(2026年)深度解析
- 深度解析(2026)《GBT 33457-2016商业网点规划制图规范》(2026年)深度解析
- 任务1.6 绑定收付款方式
- 医疗数据安全治理:区块链政策法规适配创新
- 医疗数据安全未来挑战与应对策略
- 医疗数据安全态势感知:标准规范
- 医疗数据安全培训中的区块链溯源实践
- 医疗数据安全合规的区块链标准国际化
- 【9语12月月考】合肥市蜀山区部分学校2025-2026学年九年级上学期12月考试语文试题
- 医疗数据安全共享标准体系
- 员工放弃社保补缴协议书
- 婚介行业服务创新案例-全面剖析
- 电梯作业人员理论考试练习题库
- 新媒体部笔试试题及答案
- 税务师事务所内部管理制度
- 新版教科版五年级上册科学(全册)教学(期末知识复习知识梳理知识归纳)
- 磷酸铁及磷酸铁锂异物防控管理
- 2025年安徽合肥蜀山科技创新投资集团有限公司招聘笔试参考题库附带答案详解
- 上消化道异物指南解读
- 2025年中国铁路昆明局集团有限公司招聘笔试参考题库含答案解析
- SOX404条款的实施-控制例外事项与缺陷的评估框架课件
评论
0/150
提交评论