数值微分(DDA)法(4/5)
v
对称的DDA??取?=2-n
??使 2n-1≤max(|?x |,|?y|)≤2n
v
简单的DDA??取?= 1/max(|?x |,|?y|)
??使 ?|?x |, ?|?y|中必有一个是单位步长???x为最大时, ??x =1, ??x =k???y为最大时, ??y =1, ??y =1/k
数值微分(DDA)法(5/5)
v缺点:
??浮点数运算??不易硬件实现
中点画线法(1/4)
vvv
问题:判断距离理想直线最近的下一个象素点已知:线段两端点(x0,y0),(x1,y1)直线方程:F(x,y)=ax+by+c=0
??a=y0-y1??b=x1-x0??c=x0y1-x1y0如何判断M点在Q点上方还是在Q点下方?M中点画线法(2/4)
vvv
直线上方点: F(x,y)>0 直线下方点: F(x,y)<0构造判别式: d=F(M)=F(Xp+1,Yp+0.5)由d>0,d<0可判定下一个象素P2M(Xp+1,Yp+0.5)PP1v
v
分两种情形考虑再一下个象素的判定:
若d≥0,中点M在直线上方,取正右方象素P1 (Xp+1,Yp)
??再下一个象素的判别式为:
P2MP1 d1=F((Xp+1)+1,Yp+0.5)=a(Xp+2)+b(Yp+0.5)+c = d+a d的增量为a
v
若d<0,中点M在直线下方,取右上方象素P2 (Xp+1,Yp+1)
??再下一个象素的判别式为:
P2MP1 d2=F((Xp+1)+1,(Yp+1)+0.5)= a(Xp+2)+b(Yp+1.5)+c =d+a+b d的增量为a+b