Bresenham算法斜率各种情况


Bresenham算法总结

注:

1、y(i+1)指的是y右下角标为i+1,yi指的是y右下角标为i

2、y=mx+b

3、△x,△y均为后减前

4、d1为(xi+1,yi)到直线的距离,d2为(xi+1,yi+/-1)到直线的距离

0<m<1

初始: p0=2△y-△x
当pk≥0时:x(i+1)=xi+1 y(i+1)=yi+1 p(i+1)=pi+2△y-2△x
否则:x(i+1)=xi+1 y(i+1)=yi p(i+1)=pi+2△y

m>1

初始: p0=2△x-△y
当pk≥0时:x(i+1)=xi+1 y(i+1)=yi+1 p(i+1)=pi+2△x-2△y
否则:x(i+1)=xi y(i+1)=yi+1 p(i+1)=pi+2△x

-1<m<0

初始: p0=-2△y-△x
当pk≥0时:x(i+1)=xi+1 y(i+1)=yi-1 p(i+1)=pi-2△y-2△x
否则:x(i+1)=xi+1 y(i+1)=yi p(i+1)=pi-2△y

m<-1

初始: p0=-2△x-△y
当pk≥0时:x(i+1)=xi+1 y(i+1)=yi-1 p(i+1)=pi-2△x-2△y
否则:x(i+1)=xi y(i+1)=yi-1 p(i+1)=pi-2△x

写在最后

推导发现:m>1时即为0<m<1时x变为y的情况,-1<m<0时即为0<m<1时y变为-y的情况


文章作者: wck
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 wck !
评论
  目录