以第Ⅰ象限逆圓為例,設(shè)刀具沿圓弧移動(dòng),半徑為R,刀具的切向速度為v, P(x,y)為動(dòng)點(diǎn)(如圖2—13),
則有下述關(guān)系:
式中K為比例常數(shù)。因?yàn)榘霃絉為常數(shù),切向速度v為勻速,所以K可認(rèn)為是常數(shù)。
在單位時(shí)間增量Δt內(nèi),X和Y位移增量的參量方程可表示為
根據(jù)此兩式,仿照直線插補(bǔ)方案用兩個(gè)積分器來(lái)實(shí)現(xiàn)圓弧插補(bǔ),如圖2—14(a)所示。圖中系數(shù)K的省略原因和直線時(shí)類(lèi)同。但必須指出:第一,坐標(biāo)值x和y存入寄存器Jvx和Jvy的對(duì)應(yīng)關(guān)系與直線不同,恰好位置互調(diào),即y存入Jvx,而x存入Jvy中。第二,Jvx和Jvy寄存器中寄存的數(shù)值與直線插補(bǔ)時(shí)還有一個(gè)本質(zhì)的區(qū)別:直線插補(bǔ)時(shí)Jvx(或Jvy)寄存的是終點(diǎn)坐標(biāo)xe(或ye),是個(gè)常數(shù);而在圓弧插補(bǔ)時(shí)寄存的是動(dòng)點(diǎn)坐標(biāo),是個(gè)變量。因此在刀具移動(dòng)過(guò)程中必須根據(jù)刀具位置的變化來(lái)更改速度寄存器Jvx和Jvy中的內(nèi)容。在起點(diǎn)時(shí),Jvx和Jvy分別寄存起點(diǎn)坐標(biāo)值y0和x0;在插補(bǔ)過(guò)程中,JRy每溢出一個(gè)Δy脈沖,Jvx寄存器應(yīng)該加“1”;反之,當(dāng)JRx溢出一個(gè)Δx脈沖時(shí),Jvy應(yīng)該減“1”。減“1”的原因是刀具在作逆圓運(yùn)動(dòng)時(shí)x坐標(biāo)須作負(fù)方向進(jìn)給,動(dòng)坐標(biāo)不斷減少。圖2—14中用?及Ө表示修改動(dòng)點(diǎn)坐標(biāo)時(shí)這種加“1”或減“1”的關(guān)系。圖2—14(b)為第Ⅰ象限逆時(shí)針走向的圓弧插補(bǔ)的數(shù)字積分器符號(hào)表示圖。
圖2-14 DDA圓弧插補(bǔ)運(yùn)算框圖及符號(hào)圖
對(duì)于順圓、逆圓及其他象限的插補(bǔ)運(yùn)算過(guò)程和積分器結(jié)構(gòu)基本上與第Ⅰ象限逆圓是一致的。其不同在于,控制各坐標(biāo)軸的Δx和Δy的進(jìn)給方向不同,以及修改Jvx和Jvy內(nèi)容時(shí)是?還是Ө,要由x和y坐標(biāo)的增減而定,見(jiàn)表2—5。
表2-5 DDA圓弧插補(bǔ)時(shí)的坐標(biāo)修改情況
normal style="TEXT-INDENT: 24pt; TEXT-ALIGN: center" align=center> |
normal style="TEXT-ALIGN: center" align=center>SR1 |
normal style="TEXT-ALIGN: center" align=center>SR2 |
normal style="TEXT-ALIGN: center" align=center>SR3 |
normal style="TEXT-ALIGN: center" align=center>SR4 |
normal style="TEXT-ALIGN: center" align=center>NR1 |
normal style="TEXT-ALIGN: center" align=center>NR2 |
normal style="TEXT-ALIGN: center" align=center>NR3 |
normal style="TEXT-ALIGN: center" align=center>NR4 |
normal style="TEXT-ALIGN: center" align=center>Jvx(y) |
normal style="TEXT-ALIGN: center" align=center>一 |
normal style="TEXT-ALIGN: center" align=center>+ |
normal style="TEXT-ALIGN: center" align=center>一 |
normal style="TEXT-ALIGN: center" align=center>+ |
normal style="TEXT-ALIGN: center" align=center>+ |
normal style="TEXT-ALIGN: center" align=center>一 |
normal style="TEXT-ALIGN: center" align=center>+ |
normal style="TEXT-ALIGN: center" align=center>一 |
normal style="TEXT-ALIGN: center" align=center>Jvy(x) |
normal style="TEXT-ALIGN: center" align=center>+ |
normal style="TEXT-ALIGN: center" align=center>一 |
normal style="TEXT-ALIGN: center" align=center>+ |
normal style="TEXT-ALIGN: center" align=center>一 |
normal style="TEXT-ALIGN: center" align=center>一 |
normal style="TEXT-ALIGN: center" align=center>一 |
normal style="TEXT-ALIGN: center" align=center>+ |
normal style="TEXT-ALIGN: center" align=center>+ |
normal style="TEXT-ALIGN: center" align=center>∆x |
normal style="TEXT-ALIGN: center" align=center>+ |
normal style="TEXT-ALIGN: center" align=center>+ |
normal style="TEXT-ALIGN: center" align=center>- |
normal style="TEXT-ALIGN: center" align=center>- |
normal style="TEXT-ALIGN: center" align=center>- |
normal style="TEXT-ALIGN: center" align=center>- |
normal style="TEXT-ALIGN: center" align=center>+ |
normal style="TEXT-ALIGN: center" align=center>+ |
normal style="TEXT-ALIGN: center" align=center>∆y |
normal style="TEXT-ALIGN: center" align=center>- |
normal style="TEXT-ALIGN: center" align=center>+ |
normal style="TEXT-ALIGN: center" align=center>+ |
normal style="TEXT-ALIGN: center" align=center>- |
normal style="TEXT-ALIGN: center" align=center>+ |
normal style="TEXT-ALIGN: center" align=center>- |
normal style="TEXT-ALIGN: center" align=center>- |
normal style="TEXT-ALIGN: center" align=center>+ |
DDA圓弧插補(bǔ)的終點(diǎn)判別可以利用兩個(gè)終點(diǎn)減法計(jì)數(shù)器,把x和y坐標(biāo)所需輸出的脈沖數(shù)|xe-x0 |和|ye- y0| 分別存入這兩個(gè)計(jì)數(shù)器中,x或y積分器每輸出一個(gè)脈沖,相應(yīng)的減法計(jì)數(shù)器減1,當(dāng)某一坐標(biāo)計(jì)數(shù)器為零時(shí),說(shuō)明該坐標(biāo)已到達(dá)終點(diǎn),這時(shí),該坐標(biāo)停止迭代。當(dāng)兩個(gè)計(jì)數(shù)器均為零時(shí),圓弧插補(bǔ)結(jié)束。下面舉一個(gè)DDA圓弧插補(bǔ)的具體例子。設(shè)有一個(gè)圓弧,起點(diǎn)為A(5,0),終點(diǎn)為B(0,5),即
見(jiàn)圖2—15。
圖2-15 DDA圓弧插補(bǔ)軌跡
圖2-16 DDA圓弧插補(bǔ)過(guò)程