数值微分法DDA
根据直线方程的斜截式,已知起点和中点,可得直线方程y=kx+b.
当|k|<=1时,x每沿步进方向前进一个单位(一下均以1代替),增量y为k,如下图的公式
这样的方法,将求直线每一个点用到的kx+b含乘法的式子,转换为x+1,y+k的加法算法.注意,这一每一步用到的y,是上一步真实计算得到的y,不是四舍五入后的y,四舍五入后的y用来绘制坐标,而真实的y参与增量计算.
然而对于|k|>1的直线而言,如下图,会发现一条直线被抽象成了三个点,可以推算,当k很大时,一条线会被抽象成两个点,这...谁还看得出来是条直线!
这时候,就要沿着y的方向增加步进了,x = k`y+b.(k`!=k),k` = x增量/y增量.
如上图的例子,x=(2/5) y,y沿步进一步,x增量2/5,用同样的方法,可以用更多的点来表示一条直线了
资料来源<计算机图形学-中国农业大学>