




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025专卖店、超市、商场员工聘用合同范本
- 库房出租合同模板二零二五年
- 土地流转居间合同书二零二五年
- 买房盖房租房合同样本
- 二零二五劳动合同劳动合同签订原则
- 系统培训方案模板
- 买期房抵押合同样本
- 居间厂房转让合同二零二五年
- 二零二五代签合同授权的委托书
- 投资收益分配股权转让定金协议二零二五年
- 湖南省张家界市慈利县2023-2024学年八年级下学期期中考试物理试题
- 金属非金属地下矿山监测监控系统建设规范
- 2024年苏州市轨道交通集团有限公司招聘笔试参考题库附带答案详解
- 新概念英语第2册课文(完整版)
- 水培吊兰的养殖方法要领
- 动物的迁徙行为与地球生态系统
- 【小学心理健康教育分析国内外文献综述4100字】
- 校园金话筒大赛(临沂赛区)策划书
- 正确使用文丘里面罩
- 破碎锤施工方案
- 2023年10月自考00161财务报表分析(一)试题及答案含评分标准
评论
0/150
提交评论