DDA算法和Bresenham算法画直线
DDA算法:
步骤:
1、求斜率K
2、x坐标增加
3、y坐标增加K,并进行+0.5取整
4、重复步骤2、3直到绘制完
例如:
Bresenham算法:
步骤:
1、计算Δx Δy
2、e=-Δx x0=x0 y=y0
3、绘制点(x,y)
4、更新e=e+2*Δy,且
1 |
|
5、重复步骤3、4直到绘制完
MATLAB代码:
DDA算法:
1 |
|
Bresenham算法:
1 |
|
演示:
1 |
|
(0,0)——>(5,3)
感觉和直线差了不少
(0,0)——>(100,40)
有点直线那意思了
(0,0)——>(1000,1000)
已经看不出来是折线
如果有错误欢迎指正。
感谢您的阅读,转载请注明出处!