dda公司(dda)和bresenham演算法(bresenham’s algorithm)的區別

數字差分演算法(DDA)和Bresenhams演算法是數字線繪製演算法,在計算機圖形學中用於繪製圖形。以前,我們使用分析分析儀來計算畫素,因此可以繪製線條。但是這些分析方法不如數字方法精確,隨著這些數字演算法的使用,我們在計算機圖形學中也發明瞭更高質量的方法。這些演算法的發明就是一個完美的例子。在我們繼續之前,讓我們看看這些演算法背後的概念。雖然這似乎不在我們討論的範圍之內,但有必要指出兩者的基本區別。如果你...

dda公司(dda)和bresenham演算法(bresenham’s algorithm)的區別

數字差分演算法(DDA)和Bresenhams演算法是數字線繪製演算法,在計算機圖形學中用於繪製圖形。以前,我們使用分析分析儀來計算畫素,因此可以繪製線條。但是這些分析方法不如數字方法精確,隨著這些數字演算法的使用,我們在計算機圖形學中也發明瞭更高質量的方法。這些演算法的發明就是一個完美的例子。在我們繼續之前,讓我們看看這些演算法背後的概念。雖然這似乎不在我們討論的範圍之內,但有必要指出兩者的基本區別。如果你真的很熟悉這些演算法,你可以跳轉到本頁末尾的實際差異。

什麼是數字差分演算法(dda)(digital differential algorithm (dda))?

DDA主要用於在計算機圖形學中繪製線,在預測下一個畫素值時使用實際值。假設初始畫素值為(X0,Y0)(X0,Y0),目標畫素為(X1,Y1)(X1,Y1)。我們將學習如何從已知畫素值(X0,Y0)(X0,Y0)計算目標畫素值,如下所示。

  • 如何使用DDA計算目標點值?

第一步:這裡有輸入(X0,Y0)(X0,Y0),我們應該確定直線是平行於x軸還是y軸。為了找到它,現在讓我們計算初始和目標畫素值之間的差異。

dx=X1–X0

dy=Y1–Y0

第二步:現在,我們已經確定了差異,如果‘dx’為零,我們應該沿著x軸畫一條線,否則,我們應該畫一條平行於y軸的線。這是用計算機語言進行的實際計算。

if(絕對(dx)>絕對(dy))

步長=絕對(dx);

其他的

階躍=絕對(dy);

步驟3:現在,是時候確定實際的“x”坐標或“y”坐標畫素值,以便繪製線。

X增量=dx/(浮點)步數;

Y增量=dy/(浮點)步數;

第四步:這必須計算,直到我們到達目標畫素。DDA演算法在執行計算時將畫素值舍入到最接近的整數值。下麵是我們現在討論的程式碼示例。

對於(int v=0;v<步數;(v++)

{

x=x+x增量;

y=y+y增量;

畫素(圓形(x),圓形(y));

}

我們已經用DDA畫好了線,現在讓我們繼續去佈雷森漢姆吧!

dda公司(dda)和bresenham演算法(bresenham’s algorithm)的區別

什麼是bresenham演算法(bresenham’s algorithm)?

它也是一種數字線繪製演算法,由Bresenham於1962年發明,因此它也有了相同的名稱。該演算法採用減法運算,精度更高;除了在繪製線時計算畫素值之外。Bresenham演算法在繪製曲線時的精度是可靠的;圓圈也是。讓我們看看這個演算法是如何工作的。

第一步:Bresenham演算法假設初始畫素坐標為(xa+1,ya)。

第二步:它自動計算下一個畫素值為(xa+1,ya+1),這裡‘a’是增量值,演算法透過加上或減去它形成的方程來計算。

這種演算法計算準確的值沒有舍入,看起來也更容易!

  • Bresenham演算法的數值例子:

現在讓我們考慮點(0,0)和(-8,-4),並使用Bresenham演算法在這些點之間畫一條線。

給定資料,(x1,y1)=(0,0)和(x2,y2)=(-8,-4)。

現在讓我們計算微分值如下。

∆x=x2-x1=-8-0=8

因此,x的增量值=∆x/x2=8/-8=-1。

∆y=y2-y1=-4-0=4

因此,y的增量值=∆y/y2=4/-4=-1。

決策變數=e=2*(∆年)-(∆十)

因此,e=2*(4)-(8)=8-8=0

透過上面的計算,讓我們將結果值製成表格。y坐標的值是根據一個決策變數來調整的,這裡我們忽略了它的計算。

畫素 y                                              決策變數
(0,0) 0 0 0
(-1,0) -1 0 價值觀
(-2,-1) -2 -1 0
(-3,-1) -3 -1 價值觀
(-4,-2) -4 -2 0
(-5,-2) -5 -2 價值觀
(-6,-3) -6 -3 0
(-7,-3) -7 -3 價值觀
(-8,-4) -8 -4 0

dda和bresenham演算法之間的差異:

  • 算術計算:

DDA在計算中使用實值,並使用浮點。下一個畫素或點的值由微分方程確定

X增量=dx/(浮點)步數

Y增量=dy/(浮點)步數

這裡不使用固定常數,但在Bresenham演算法中,不動點用於算術計算。與DDA不同,Bresenham的演算法使用整數演算法。

  • 使用的操作型別:

DDA透過乘法和除法運算求解微分方程。你可以註意到同樣的情況,X增量=dx/(float)步數。Bresenham的演算法使用加法和減法運算,您可以在下一個畫素值計算公式(xa+1,ya+1)中註意到這一點。與DDA相比,Bresenham的演算法更簡單。

  • 效率:

正如我們前面所討論的,Bresenham的演算法使用了比DDA更簡單的演算法,並且得到了有效的結果。

  • 速度:由於DDA使用浮點整數和乘除運算,因此速度相對較慢,而Bresenham的演算法僅使用整數運算和加減運算。這大大減少了計算所需的時間,因此比DDA更快。
  • 精度:雖然DDA使用浮點值,但DDA的精度沒有Bresenham的好。多種因素影響這一概念,因此,佈列森厄姆的比DDA更準確。
  • 四捨五入:看看這裡DDA的計算。

X增量=dx/(浮點)步數

您可能會註意到“float”,因此它不會舍入值,而Bresenham的演算法將值舍入到最接近的整數。因此,在Bresenham演算法中使用的值更簡單。

  • 它畫了什麼?

DDA除了繪製直線外,還能繪製圓和曲線。Bresenham演算法也能畫出上述所有的圖形,其精度比DDA演算法要高。類似地,Bresenham演算法可以得到比DDA演算法更有效的曲線。兩種演算法都可以繪製三角形和多邊形。

  • 哪個貴?

由於DDA也包含舍入,因此它比使用Bresenham演算法要昂貴。

  • 哪一個是最佳化演算法?

從我們上面的討論可以很清楚地看出,Bresenham演算法在速度、成本和操作使用方面都是最佳化的。

讓我們以表格的形式看一下這些區別。

序號 差異 數字微分演算法 Bresenham演算法
1. 為什麼叫這個名字? 僅僅因為它是方程的數字實現,它就有了這個名字。 它是由J.E.Bresenham在1962年發明的,因此得名。
2. 計算 它涉及到更複雜的計算。 使用的計算非常簡單。
3. 使用的操作型別 它使用乘法和除法。這裡使用的示例微分方程是Xincrement=dx/(float)步,Yincrement=dy/(float)步。  它使用加減法。這裡的示例計算可以表示為(xa+1,ya+1)。
4. 算術計算值 它使用浮點值。 它只使用整數值。
5. 效率 複雜的運算會降低效率。 演算法越簡單,效率就越高。
6. 速度 乘法和除法運算的使用在計算過程中花費了大量的時間。 使用加法和減法運算所花費的時間比DDA少。
7. 準確度 準確度較低。 它更準確。
8. 舍入 它使用實際值,從不捨入值。 它將值舍入為最接近的整數值。
9 繪圖能力 它能夠繪製直線、圓和曲線,但精度較低。我們甚至可以用這個演算法畫三角形和多邊形。 它能夠以更高的效率繪製直線、圓和曲線。該演算法還可以繪製三角形和多邊形。
10 計算成本 這是昂貴的,因為它涉及四捨五入以及。 Bresenham演算法的使用比DDA演算法便宜。
11 最佳化演算法 它不是一個最佳化演算法 這是一個最佳化演算法。

我們已經處理了DDA和Bresenham演算法之間的所有可能的差異。它甚至似乎是重覆的,但有一些正當的理由再次提到這些點,你會知道當你完全理解它。如果您仍然覺得存在歧義,請給我們留言。讓我們透過分享適當的知識來共同學習!

  • 發表於 2021-06-25 00:12
  • 閱讀 ( 64 )
  • 分類:科技

你可能感興趣的文章

適應的(adaptive)和非自適應路由演算法(non adaptive routing algorithms)的區別

...由演算法 5. 摘要 什麼是自適應路由演算法(adaptive routing algorithms)? 動態路由或自適應路由使用自適應演算法。這些演算法根據拓撲結構和網路流量改變路由決策。相鄰路由器或所有路由器提供路由資訊。主要的最佳化引數是一...

  • 發佈於 2020-10-18 20:02
  • 閲讀 ( 51 )

演算法(algorithm)和流程圖(flowchart)的區別

...較-演算法與表格形式的流程圖 6. 摘要 什麼是演算法(an algorithm)? 每一個任務都是根據一個演算法來完成的。如果Facebook有一個這樣的問題,那麼它將如何在一個日誌中出現。首先,使用者應該開啟瀏覽器。然後他應該輸入正確...

  • 發佈於 2020-10-19 17:44
  • 閲讀 ( 114 )

在youtube上發現新內容的好方法

...auto-generated channels of trending and popular videos that are created by algorithms. On these channels, you'll see a notice in the "About" section that they've been auto-generated by YouTube. YouTube's auto-generated channels have "Topic" as a suffix. ...

  • 發佈於 2021-03-16 12:38
  • 閲讀 ( 172 )

5種常見的加密型別以及為什麼您不應該自己建立

... "Anyone can invent an encryption algorithm they themselves can't break; it's much harder to invent one that no one else can break." ...

  • 發佈於 2021-03-24 13:51
  • 閲讀 ( 52 )

bytedance可能不會出售tiktok的演算法

...ny US buyer, but the technology team of TikTok in the US can develop a new algorithm. ...

  • 發佈於 2021-03-30 09:27
  • 閲讀 ( 43 )

所有的社交網路都應該讓我們從演算法中奪回控制權

...同意。 While Instagram may not buck parent company Facebook’s love of algorithmic feeds, it should do exactly that (and Facebook should do it too!)—calm down the masses and give us a goddamn sparkle button. Stop trying to force side-scrolling feeds and other junk features. Just lovingly gan...

  • 發佈於 2021-04-04 01:10
  • 閲讀 ( 50 )

什麼是校驗和(為什麼要在意)?

... 如果需要其他型別的校驗和,請在命令末尾新增相應的-Algorithm選項,如下所示: Get-FileHash C:\path\to\file.iso -Algorithm MD5 Get-FileHash C:\path\to\file.iso -Algorithm SHA1 將計算出的校驗和與原始校驗和進行比較。您不必看得太近,因為即使...

  • 發佈於 2021-04-05 00:34
  • 閲讀 ( 53 )

什麼是md5、sha-1和sha-256雜湊,如何檢查它們?

...一以指定不同的雜湊演算法: Get-FileHash C:\path\to\file.iso -Algorithm MD5 Get-FileHash C:\path\to\file.iso -Algorithm SHA1 Get-FileHash C:\path\to\file.iso -Algorithm SHA256 Get-FileHash C:\path\to\file.iso -Algorithm SHA384 Get-FileHash C:\path\to\file.iso -Algorithm SHA512 Get-FileHa...

  • 發佈於 2021-04-08 07:37
  • 閲讀 ( 47 )

斯坦福演算法決定在5000劑疫苗中,只給7名一線covid-19工作者接種疫苗

... chief resident to other residents, Stanford’s leaders explained that an algorithm was used to assign its first allotment of the vaccine. The algorithm was said to have prioritized those health care workers at highest risk for COVID infecti***, along with factors like age and the location or unit ...

  • 發佈於 2021-04-17 04:30
  • 閲讀 ( 39 )

英國脫歐協議要求dna配置檔案使用一款已有20年曆史的電子郵件應用程式

...ce of the operati*** is: first encryption and then signing, the encryption algorithm AES (Advanced Encryption Standard) with 256 bit key length and RSA with 1,024 bit key length shall be applied for symmetric and asymmetric encryption respectively, the hash algorithm SHA-1 shall be applied. s/MIME f...

  • 發佈於 2021-04-17 05:18
  • 閲讀 ( 48 )
林知空蕭
林知空蕭

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦