3试用中点Bresenham算法画直线段的原理推导斜率在[-1,0]之间的直线段绘制过程(要求写清原理、误差函数、递推公式及最终画图过程)
解法一:构造直线方程F(x,y)=y-kx-b=0由于,即,此时x为最大位移方向,算法每次在x方向上加1,y方向上减1或减0
即对于当前选定的点Pi(xi,yi),下一个点应该为或,选取哪一个点依赖于判别式
即有取Pu和Pd的中点M(xi+1,yi-0
5),将M的坐标代入直线方程构造判别式:当(注意这里的判断方法)d>0时,M点在Q点上方,取d0时,增量为-1-k当时,增量为-k由于x方向递增,,故此在等式两边同乘以,则有:当d>0时,增量为当时,增量为注意:此时优化要注意此时0时,M点在Q点上方,取当d0时,增量为k当时,增量为1+k由于x方向递减,,故此在等式两边同乘以-,则有:当d>0时,增量为当时,增量为5
7利用中点Bresenham画圆算法的原理推导第一象限x=y到y=0圆弧段的扫描转换算法(要求写清原理、误差函数、递推公式及最终画图过程)
解:在x=y到y=0的圆弧中,(R,0)点比在圆弧上,算法从该点开始
最大位移方向为y,由(R,0)点开始,y渐增,x渐减,每次y方向加1,x方向减1或减0
(注意算法的起始点)设P点坐标(xi,yi),下一个候选点为Pr(xi,yi+1)和Pl(xi-1,yi+1),取Pl和Pr的中点M(xi-0
5,yi+1),设理想圆与y=yi+1的交点Q,构造判别式:当d0时,M在Q点右方,取Pl(xi-1,yi+1)d=0时,M与Q点重合,约定取Pl(xi-1,yi+1)所以有:推导判别式:时,取Pl(xi-1,yi+1),下一点为(xi-1,yi+2)和(xi-2,yi+2)时,取Pr(xi,yi+1),下一点为(xi,yi+2)和(xi-1,yi+2)优化:令D=d-0
25则上述公