- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
圆的扫描转换重点讲义
圆的扫描转换;;图形的生成:是在指定的输出设备上,根据坐标描述构造二维几何图形。
图形的扫描转换:在光栅显示器等数字设备上确定一个最佳逼近于图形的象素集的过程。 ;图形的扫描转换本质:离散量逼近连续量;圆的扫描转换;1.八分法画圆;伪代码;2.简单方程产生圆弧;算法原理:利用其函数方程,直接离散计算 ; 圆的极坐标方程为: ;3.中点Bresenham画圆;3.中点Bresenham画圆;3.中点Bresenham画圆;;当d≤0时,下一点取Pu(xi+1,yi);
当d0时,下一点取Pd(xi+1,yi-1)。;误差项的递推;d0: ;判别式的初始值;算法步骤:
1.输入圆的半径R。
2.计算初始值d=1.25-R、x=0、y=R。
3.绘制点(x,y)及其在八分圆中的另外七个对称点。
4.判断d的符号。若d≤0,则先将d更新为d+2x+3,再将(x,y)更新为(x+1,y);
否则先将d更新为d+2(x-y)+5,再将(x,y)更新为(x+1,y-1)。
5.当xy时,重复步骤3和4。否则结束。;改进??用d-0.25代替d
算法步骤:
1.输入圆的半径R。
2.计算初始值d=1-R、x=0、y=R。
3.绘制点(x,y)及其在八分圆中的另外七个对称点。
4.判断d的符号,若d≤0,则先将d更新为d+2x+3,再将(x,y)更新为(x+1,y);否则先将d更新为d+2(x-y)+5,再将(x,y)更新为(x+1,y-1)。
5.当xy时,重复步骤3和4。否则结束;void MidBresenhamcircle(int r)
{
int x, y, d;
x=0; y=r; d=1-r; /*赋初值*/
while(xy) /*循环退出条件*/
{
circlePoint(x,y); /*绘制一个点*/
if (d0) d+=2*x+3; /*判别式更新*/
else {
d+=2*(x-y)+5;
y--; /*y方向上走一步*/
}
x++; /*x方向上走一步*/
} /*while循环结束*/
};实例;1/8 圆弧离散点的产生;画出对称象素点;离散点对连续点的逼近;Thank you!
文档评论(0)