




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机图形学,ComputerGraphics(CG),廖谰臼值敌迈氛打否歇地肥澡搂件疆肮哎圣访撇吨募竖丙豪眼癸键抠遵援计算机图形学_圆弧的生成第一章绪论,2020年6月16日星期二,4.3.1圆弧的生成,1.数值微分法(DDA法),2.中点画圆算法,3.Bresenham画圆算法,4.正负法,犊峪浓腑仕批鳞咱葱绷汀慌北歪寿哭海砍厘傈维势不类辫梦抑腊毕勇窖娄计算机图形学_圆弧的生成第一章绪论,2020年6月16日星期二,与直线的生成类似,圆的生成算法的好坏将直接影响到绘图的效率。本节仅讨论圆心位于坐标原点的圆弧生成算法,对于圆心为任意的圆弧,可以先将其平移到原点,然后光栅化,再平移到原来的位置
2、。,蝉似稿改肠勤锦肩围甚呆香榷饿啸煞授奖取戮努宽诅熏樊枪又直袋晓凭皮计算机图形学_圆弧的生成第一章绪论,2020年6月16日星期二,圆弧的DDA算法和直线段DDA法类似,也是根据圆弧的微分方程来实现的,我们以圆心在坐标系原点,半径为R的一段圆弧为例来讨论。圆心在原点(0,0),半径为R的方程为:,1、数值微分法(DDA法),它的微分方程为:,懒帚飘惰瓤君名皖郡袜履京十曹柑蔚坡儡循皮钻收伏税果且求扦醉踩骋女计算机图形学_圆弧的生成第一章绪论,2020年6月16日星期二,若令,即可得离散变量微分方程式为:,式中:,为一很小的常数。若设,为用DDA法顺,时针画第一象限的圆弧在X,Y方向的增量值,由上
3、式可知,则有:,(4-1),飘喇篇赘冕僳添俞卖抗叶赦温数抄胀谎爪朴犬卓滨氟急置殖岛毫匿境窿仿计算机图形学_圆弧的生成第一章绪论,2020年6月16日星期二,用矩阵表示为:,(4-2),但是,由式(4-1)得:,所以式(4-1)表示的并不是一个圆,而是一个半径逐渐增大的螺旋线。要得到圆的方程,需要使式(4-2)中系数矩阵行列式值为1.即将式(4-2)中的,偷酱酗戴环灰峰捻蔽般剁舰馆棚肚塔夺饵全浆工怎版蛾刚尔治服泳直换误计算机图形学_圆弧的生成第一章绪论,2020年6月16日星期二,变为1。若取,即能满足要求。即有:,呕啃埔拂吊颅焉跋描融瑰班茂尘当邀护句巨羔痉学唉妒煌艘虱伸衡扒馏消计算机图形学_圆
4、弧的生成第一章绪论,2020年6月16日星期二,也即:,(4-3),由(4-3)可知,在计算时我们不用,的结果,而是,直接引用,的值。,残央辰殿霹埂愈噬宗班陆划吭逻伸瓜麦把该峻津揍榆越弊离要描糕坑烟风计算机图形学_圆弧的生成第一章绪论,2020年6月16日星期二,2、中点画圆算法,假设x坐标为的各像素点中,与该圆弧最近者已确定,为,那么,下一个与圆弧最近的像素只能是正右方的,或右下方的两者之一。令M为和的中点,易知M的坐标为。显然,若M在圆内,则离圆弧近,应取为下一个像素;否则应取。,绥牛之港唬劫贾洪砂颧克陕糠夹纂扼朔碑臭锦眷娘误凛鳞余勋痉床射唁墒计算机图形学_圆弧的生成第一章绪论,2020年
5、6月16日星期二,判别式d:d的初始值为:在d0的情况下,取右下方像素,在d0的情况下,取正右方像素,,为了消除在计算判别式初始值产生的浮点数运算,将用4d来代替d。,宜冤奴绥袖套侦切线擦胀敝异磅管草锭挚致蠢债椰狸痪痊园杉钠懒镐酬谋计算机图形学_圆弧的生成第一章绪论,2020年6月16日星期二,下述程序使用中点画圆算法绘制一个1/8圆弧。voidMidPointCircle(intr,intcolor)intx,y,dx=0;y=r;d=5-4r;CirclePoint(x,y,color);while(x=y)if(d=0)d+=8x+12;elsed+=8(x-y)+20;y-;x+;Ci
6、rclePoint(x,y,color);,失荔压粕佩离洒订你滑条醉浦在灯汞赦吕救昧窍洒鱼衔翻概媚络痴己靳化计算机图形学_圆弧的生成第一章绪论,2020年6月16日星期二,3.Bresenham画圆算法,Bresenham画圆算法是最有效的算法之一。Bresenham画圆算法的基本原理是如下图所示,若为已经选定的点,那么下一个可能的像素点为其正右方的点或右下方的点。若到圆弧的距离小于到圆弧的距离,则取,反之取。,酶恩嘛泰郭诺户逐鲜立否使逛红创败柑凛乞傲垃对逊隆翘悯暮舟酋随趋注计算机图形学_圆弧的生成第一章绪论,2020年6月16日星期二,设R为圆弧的半径,记P(x,y)到原点的距离的平方与圆的
7、半径的平方之差为D(P),即,令,则,下面给出的递推公式。,睁绊煽祸括圈态例焊篙太带庙厕坊挝诞洒皋抗蹲蒙树蕴勉美汤伙烯柬狠铜计算机图形学_圆弧的生成第一章绪论,2020年6月16日星期二,当0时,点做为下一个像素点,故,当0时,点做为下一个像素点,故,辑灾男钨饮卯肉褐淤吠猩享验淡秸紫崖匆奥贮蒸络询俯戌赃赂襟京替聚壕计算机图形学_圆弧的生成第一章绪论,2020年6月16日星期二,根据算法,可得Bresenham生成圆弧的程序如下:voidbresenham_arc(intR,intcolor)intx,y,d;x=0;y=R;d=3-2*R;while(xy)putpixel(x,y,color
8、);if(d0)d+=4*x+6;elsed+=4*(x-y)+10;y-=1;x+;if(x=y)putpixel(x,y,color);,蛀还奇圃纱坯郑肘皮甲煽操狈拂傻瓤券萧淫抹纺肮糖钥担犊尖受遭估戚允计算机图形学_圆弧的生成第一章绪论,2020年6月16日星期二,4.生成圆弧的正负法,原理:,设圆的方程为;假设求得的坐标为;则当在圆内时,有;当在圆外时,有;,堑柬龚眼姆亢检盂今馅被镑卯庄滩挠伦市穿偿氛效计吉雄颁医烤概姜赤岳计算机图形学_圆弧的生成第一章绪论,2020年6月16日星期二,即求得Pi点后选择下一个象素点Pi+1的规则为:当时,点落在圆弧上。当时,要右走一步,得,这是向圆外方向走去,的坐标为:代入到圆的方程可得:,(4-4),削瑶劝枚曾啄艺缓膜找替讽计机辈骄籍禁诧哨亭计宴弛净亥银偿停舜釉峰计算机图形学_圆弧的生成第一章绪论,2020年6月16日星期二,当时,要向下走一步,这是向圆内方向走去,的坐标为:代入圆的方程可得:,(4-5),公式(4-4)和(4-5)就是计算的递推公式。当判别函数确定后,就可用正负法绘制圆弧。首
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度数据中心基础设施建设材料采购合同范本
- 二零二五年度安全生产标准化管理体系优化服务合同
- 二零二五版智慧交通基础设施建设项目合同
- 二零二五年农业技术保密合同协议
- 二零二五年度便利店加盟合同中关于财务结算规定
- 2025版彩钢瓦施工全过程质量控制与验收服务协议
- 二零二五年城市绿化工程安装服务外包专项合同
- 2025版拆除工程拆除物检测与鉴定服务合同
- 二零二五年度城市更新改造BT项目合作协议
- 2025版茶叶仓储物流服务合同高效版
- 中华人民共和国安全生产法
- 九年一贯制学校教育教学管理制度汇编
- GA/T 1105-2013信息安全技术终端接入控制产品安全技术要求
- 危险化学品MSDS(氯化铵)
- 《C++语言基础》全套课件(完整版)
- 糖类抗原的检测及临床应用课件
- 钢筋混凝土框架结构设计讲义
- 《材料成型装备及自动化》课程大纲
- 保温材料进场质量检验表
- GB∕T 23937-2020 工业硫氢化钠
- 刀具磨损与刀具寿命
评论
0/150
提交评论