起點(diǎn)o(0,0),終點(diǎn)a(xe,ye),設(shè)進(jìn)給速度v是均勻的,直線長(zhǎng)度l,則有
動(dòng)點(diǎn)從原點(diǎn)走向終點(diǎn),可看作是各坐標(biāo)每經(jīng)過一個(gè)△t分別以增量kxe、kye同時(shí)累加的結(jié)果。設(shè)經(jīng)過m次累加后,x和y方向都到達(dá)終點(diǎn)a(xe,ye),則
m必須是整數(shù),所以k為小數(shù)。選取k時(shí)考慮△x、△y≤1,保證坐標(biāo)軸上每次分配的進(jìn)給脈沖不超過1個(gè)單位(一般為1個(gè)脈沖當(dāng)量)。
xe、ye最大值(寄存器位數(shù)n)為2n-1,所以
一般取 ,則有 ,說(shuō)明dda直線插補(bǔ)整個(gè)過程需要2n次累加能到達(dá)終點(diǎn)
當(dāng)k=1/2n時(shí),對(duì)二進(jìn)制數(shù)來(lái)說(shuō),kxe與xe只在于小數(shù)點(diǎn)的位置不同,將xe的小數(shù)點(diǎn)左移n位即為kxe。
n位內(nèi)存中存放xe和kxe的數(shù)字是相同的,認(rèn)為后者小數(shù)點(diǎn)出現(xiàn)在最高位數(shù)n的前面。
對(duì)kxe、kye的累加轉(zhuǎn)變?yōu)閷?duì)xe與ye的累加。
x—y平面的dda直線插補(bǔ)器的示意圖:
直線插補(bǔ)終點(diǎn)判別:
m=2n為終點(diǎn)判別依據(jù)
例5-4設(shè)直線起點(diǎn)在原點(diǎn)o(0,0),終點(diǎn)為a(8,6),采用四位寄存器,寫出直線dda插補(bǔ)過程并畫出插補(bǔ)軌跡。
由于采用4位寄存器,所以累加次數(shù)m=24=16。
累加次數(shù)m
x積分器
y積分器
jvx(存xe)
jrx(∑xe)
△x
jvy(存ye)
jry(∑ye)
△y
0
1000
0
0
0110
0
0
1
1000
0
0110
0
2
0000
1
1100
0
3
1000
0
0010
1
4
0000
1
1000
0
5
1000
0
1110
0
6
0000
1
0100
1
7
1000
0
1010
0
8
0000
1
0000
1
9
1000
0
0110
0
10
0000
1
1100
0
11
1000
0
0010
1
12
0000
1
1000
0
13
1000
0
1110
0
14
0000
1
0100
1
15
1000
0
1000
0
16
0000
1
0000
1