DDA直線插補

2023-02-07 03:42:03 字數 1778 閱讀 2320

一、 dda直線插補

設我們要對平面上的直線進行脈衝分配,直線起點為座標原點 ,終點為 ,如圖2-8所示。

圖2-8 合成速度與分速度的關係

假定和分別表示動點在和方向的移動速度,則在和方向上的移動距離微小增量和應為

2—5)

對直線函式來說, 和是常數,則下式成立:

2—6)

式中k為比例係數。

在δt時間內,x和y位移增量的引數方程為

2—7)

動點從原點走向終點的過程,可以看作是各座標每經過乙個單位時間間隔δt分別以增量和同時累加的結果。經過m次累加後,x和y分別都到達終點 ,即下式成立:

2—8)

則或2—9)

上式表明,比例係數k和累加次數的關係是互為倒數。因為m必須是整數,所以一定是小數。在選取k時主要考慮每次增量或不大於1,以保證座標軸上每次分配進給脈衝不超過乙個單位步距,即

< 1<1式中和的最大容許值受控制機的位數及用幾個位元組儲存座標值所限制。如用tp801(z80)單板機作控制機,用兩個位元組儲存座標值,因該單板機為8位機,故和的最大容許寄存容量為216-1=65 535。為滿足 <1及 <1的條件,即

216-1)<1

216-1)<1

則如果取 ,則 ,即滿足 <1的條件。這時累加次數為

次一般情況下,若假定暫存器是n位,則和的最大允許寄存容量應為2n-1(各位全1時),若取

則顯然,由上式決定的kxe和kye是小於1的,這樣,不僅決定了係數 ,而且保證了δx和δy小於1的條件。因此,刀具從原點到達終點的累加次數m就有

當時,對二進位制數來說, 與的差別只在於小數點的位置不同,將的小數點左移n位即為 。因此在n位的記憶體中存放為整數)和存放的數字是相同的,只是認為後者的小數點出現在最高位數n的前面。

當用軟體來實現數字積分法直線插補時,只要在記憶體中設定幾個單元,分別用於存放及其累加值和及其累加值 。將和賦一初始值,在每次插補迴圈過程中,進行以下求和運算:

將運算結果的溢位脈衝δx和δy用來控制工具機進給,就可走出所需的直線軌跡。

綜上所述,可以得到下述結論:

數字積分法插補器的關鍵部件是累加器和被積函式暫存器,每乙個座標方向就需要乙個累加器和乙個被積函式暫存器。一般情況下,插補開始前,累加器清零,被積函式暫存器分別寄存和 ;插補開始後,每來乙個累加脈衝 ,被積函式暫存器裡的內容在相應的累加器中相加一次,相加後的溢位作為驅動相應座標軸的進給脈衝 (或 ),而餘數仍寄存在累加器中;當脈衝源發出的累加脈衝數m恰好等於被積函式暫存器的容量2n時,溢位的脈衝數等於以脈衝當量為最小單位的終點座標,刀具執行到終點。

數字積分法插補第ⅰ象限直線的程式流程圖如圖2-11所示。

圖2-11 dda直線插補流程圖

下面舉例說明dda直線插補過程。設要插補圖2—12所示的直線軌跡oa,起點座標為 (0,0),終點座標為 (7,10)。若被積函式暫存器jvx和jvy,餘數暫存器 jrx和jry,以及終點減法計數器je均為四位二進位制暫存器,則迭代次數為m=24=16次時插補完成。

在插補前,je,jrx,jry均為零,jvx和jvy分別存放 =7(即二進位制的0111), =10(即二進位制的1010)。在直線插補過程中jvx和jvy中的數值始終為和保持不變。本例的具體軌跡如圖2-12中的折線所示,由此可見,經過16次迭代之後, 和座標分別有7個和10個脈衝輸出。

直線插補軌跡與理論曲線的最大誤差不超過1個脈衝當量。

圖2-13 dda直線插補過程

點選動畫進入dda直線插補

直線與直線方程經典例題

練習 例 1 l1的傾斜角為45,l2經過點p 2,1 q 3,6 例 2 已知點m 2,2 和n 5,2 點p在x軸上,且 mpn為直角,求點p的座標。練習 1.求a為何值時,直線l1 a 2 x 1 a y 1 0與直線l2 a 1 x 2a 3 y 2 0互相垂直?答案 a 1 2.求過點p ...

直線方程 直線方程完美總結 歸納

直線方程 一 傾斜角與斜率 1.直線的傾斜角 傾斜角 與x軸正方向的夾角 直線與軸平行或重合時,規定它的傾斜角為 傾斜角的範圍 2.直線的斜率 直線的斜率就是直線傾斜角的正切值.記作 altimg w 82 h 26 當直線與軸平行或重合時,altimg w 50 h 25 0 altimg w 1...

直線與直線的方程知識結構

知識概要 一 直線 1 直線的方程 1 直線的傾斜角的取值範圍是平面內的任意一條直線都有唯一確定的傾斜角。2 直線的斜率且 變化情況如下 斜率的計算公式 若斜率為的直線過點與,則k 3 直線方程的五種形式 2 兩條直線位置關係 1 設兩條直線和,則有下列結論 且 2 設兩條直線不全為和,不全為0 則...