- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机图形学-生成直线和圆弧
* 决策参数 * 中点圆算法的步骤 输入圆的半径和圆心,并得到圆周上(圆心在原点)的第一个点 计算决策参数的初始值 判断pk的符号,决定下一个像素位置以及下一个决策参数pk+1 确定在其他七个八分圆中的对称点 将每个计算出的像素位置移动到恰当位置 重复步骤3到步骤5,直到x=y * 椭圆生成算法 * 帧缓存值的装载 实现线段和其他对象显示函数的最后一步工作是设定帧缓存的颜色值。 由于扫描转换算法以连续的单位间隔生成像素位置,因此扫描转换算法可使用增量方法在每一步高效地存取帧缓存 * 帧缓存内的像素屏幕位置 * * 第2章 生成直线和圆弧的算法 坐标系统 画线算法 帧缓存值的装载 圆生成算法 * 坐标系统 视频显示器上的位置使用与帧缓存中的像素位置相对应的整数屏幕坐标进行描述。 * 画线算法 在光栅系统中,通过像素绘制直线,水平垂直方向的步长受到像素的间距的限制 在离散位置上对直线取样,并且在每个取样位置上确定直线最近的像素 * DDA算法(数值微分法) 直线方程表示如下: 确定线段的端点后,可以计算出斜率m和截距b的值: 对于任何沿直线给定的x增量Δx可以计算出y方向的增量: * DDA算法(数值微分法) 当斜率为正,且小于等于1,则以单位x间隔取样,逐个 计算y值为: 当斜率大于1时,交换x、y的位置: * DDA算法(数值微分法) 输入线段两个端点的像素位置,端点位置间的水平和垂直差值赋给参数dx和dy 绝对值大的参数确定参数steps的值 从像素位置(x0,y0)开始,确定沿线段生成下一个像素位置的每一步所需的偏移量,并循环steps次。 * DDA算法(数值微分法) 例:画直线段p(0,0)--P1(5,2) x int(y+0.5) y+0.5 0 0 0 1 0 0.4+0.5 2 1 0.8+0.5 3 1 1.2+0.5 4 2 1.6+0.5 5 2 2.0+0.5 注:网格点表示像素 * DDA算法(数值微分法) DDA算法计算像素要比直接使用直线方程计算的速度快。它利用了光栅特性消除了直线方程中的乘法,而在x或y方向使用合适的增量,从而沿路径逐步得到各像素的位置 但是在连续迭代过程中,会产生误差的累积,并且取整操作和浮点运算仍然非常耗时 * DDA算法实现 #includestdlib.h #includemath.h inline int round (const float a) {return int (a+0.5)} void lineDDA (int x0, int y0, int xEnd, int yEnd) { int dx = xEnd – x0, dy = yEnd – y0, steps, k; float xIncrement, yIncrement, x = x0, y = y0; * DDA算法实现 if (fabs (dx) fabs (dy)) steps = fabs (dx); else steps = fabs (dy); xIncrement = float (dx) / float (steps); yIncrement = float (dy) / float (steps); setpixel (round (x) , round (y)); * DDA算法实现 for (k = 0; k steps; k++){ x += xIncrement; y += yIncrement; setPixel ( round (x), round (y)); } } * Bresenham画线算法 需要确定下一步是点(11,10)还是(11,11) * Bresenham画线算法 首先考虑斜率小于1的直线的扫描转换过程,沿线路径的像素位置由以单位x间隔的取样来确定。 从(x0,y0)开始,逐步处理 假设已经决定要显示在(xk,yk)那么下一步需要确定在(xk+1,yk)还是在位置(xk+1,yk+1) * Bresenham画线算法 * Bresenham画线算法|m|1 输入线段的两个端点,将左端点存储在(x0,y0)中 将(x0,y0)装入帧缓存,画出第一个点 计算常量Δx、Δy、2Δy和2Δy-2Δx,并得到决策参数的第一个值: p0=2Δy-Δx 从k=0开始,在沿路径的每个xk处,进行下列检测: 如果pk0,下一个要绘制的点是(xk+1,yk),且 pk+1=pk+2Δy 如果pk0,下一个要绘制的点是(xk+1,yk+1),且 pk+1=pk+2Δy-2Δx 重复
您可能关注的文档
- 营改增考试题.doc
- 莱克瑞名车汇.ppt
- 营养健康分析云平台白皮书.doc
- 营销专题 营销战略.ppt
- 营销成交流程.doc
- 营养要均衡(修改)-.ppt
- 落实高标清同播技术要求 全面推进我国高清电视发展_丁文华.ppt
- 董事会召开的流程.ppt
- 蒋崇辉--盘江反程序开采实践研究.ppt
- 蒙太奇作用和表现形式.ppt
- 2026年服务经济专业答辩:生活性服务精准便民利民优化.pptx
- 中国中医药文化外译的话语体系构建与传播力提升研究答辩汇报.pptx
- 立陶宛语日常词汇精准记忆与语言表达准确性保障研究毕业答辩.pptx
- 数字化转型下人力资源管理流程再造答辩汇报.pptx
- 2026年小学教育专业课题实践提升小学科学教学专业实施能力答辩汇报.pptx
- 2026年应用物理学专业课题实践激活应用物理技术效能毕业汇报.pptx
- 新时代职业教育提质培优路径与高素质技术技能人才培育研究毕业答辩汇报.pptx
- 知识产权诉讼实务操作与权利人精准维权论文答辩.pptx
- 光电技术在激光加工中的应用与加工精度及效率双提升研究毕业论文答辩汇报.pptx
- 风光摄影的光线捕捉与自然意境呈现艺术研究毕业答辩.pptx
最近下载
- T_BJWA 001-2021_健康直饮水水质标准.pdf VIP
- 2025年污水厂技术交底.pdf VIP
- IPC-WHMA-A-620A 线缆及线束组件工艺要求与检验标准.pdf VIP
- 福建农林大学研究生学位论文格式的统一要求(2025年修订).docx VIP
- IPC-A-620培訓教材 培训资料.pdf VIP
- 统编版三年级语文上学期第七单元综合提优卷(B)(含答案).pdf VIP
- 《心理健康与职业生涯》电子教案.pdf VIP
- 肿瘤溶解综合征 (3)ppt课件.pptx VIP
- 高一英语动词的时态、语态和非谓语专项练习(含答案).docx VIP
- 安全生产工作会议记录范文6篇.pdf VIP
原创力文档


文档评论(0)