計算機掃瞄直線Bresenham演算法

2021-05-24 15:12:21 字數 793 閱讀 9161

計算機掃瞄直線原理:

直線方程:y=kx+b           y-kx-b=0

在第一象限畫線 (x0,y0)->(x1,y1)

當前點pi (xi , yi)  

則下一點必為p1(xi +1, yi) 或  p2( xi +1, yi+1)。

理想直線靠近哪個點,就取那個點。

推導:令f(x,y)=y-kx-b,那麼理想直線上方有f>0,下方f<0.

取p1 p2中點m(xi +1, yi+0.5),

則f(m)<0,m在f下,應該取p2 ;反之取p1 ;

令di=f(mi)=yi+0.5-k(xi +1)-b

則di<0時第i+1個點 pi+1(xi +1, yi+1)

di+1=di+1-k

di>0時  pi+1(xi +1, yi)

di+1=di-k

d0=0.5-k

由以上遞推公式可以確定每乙個畫素點座標,從而畫出直線。

優化(只需要d的符號):

k=δy/δx  而一象限δx為正

2δxd0=1-2δy  //避免k的除法 0.5的浮點數

2δxdi+1=2δx

di+2δx

- 2δy

或   2δx

di+1=2δx

di-2δy

結論:重新令d0=1-2δy 

則  di+1=di+2δx

- 2δy

或   di+1=di-2δy

由此,該演算法優點可以看出:沒有除法 只用到整數加減,所以該演算法是高效的。

計算機 計算機基礎整理

大學四年浪費的代價。半夜整理東西 cpu 其功能主要是解釋計算機指令以及處理計算機軟體中的資料。cpu由運算器 控制器和暫存器及實現它們之間聯絡的資料 控制及狀態的匯流排構成。差不多所有的cpu的運作原理可分為四個階段 提取 fetch 解碼 decode 執行 execute 和寫回 writeb...

(計算機視覺)計算機視覺基礎

opencv cximage cimg freeimage opencv中vc庫的版本與visual studio版本的對應關係 vc8 2005 vc9 2008 vc10 2010 vc11 2012 vc12 2013 vc14 2015 vc15 2017 visual studio中的輔助...

計算機基礎 計算機構成

計算機的構成是由硬體和軟體構成。硬體是由輸入裝置,運算器,控制器,儲存器,輸出裝置構成 輸入裝置 鍵盤,掃瞄器等等,是用來輸入指令的 運算器 計算機內部用來做數 算和邏輯運算的 控制器 用來接收和發出指令的 運算器和控制器一起組成cpu,是計算機的大腦 儲存器 是由記憶體和外存組成 1,記憶體 不能...