導航:首頁 > 源碼編譯 > 中點直線演算法的特點

中點直線演算法的特點

發布時間:2023-03-24 12:10:11

A. 求計算機圖形學中的直線繪制函數法、DDA演算法、中點法和Bresenham演算法的優缺點以及比較.

DDA稱為數值微分畫線演算法,是直線生成演算法中最簡單的一種.原理相當簡單,就是最直觀的根據斜率的偏移程度,決定是以x為步進方向還是以y為步進方向.然後在相應的步進方向上,步進變數每次增加一個像素,而另一個相關坐標變數則為Yk_1=Yk+m(以x為步進變數為例,m為斜率)假定直線斜率k在0~1之間,當前象素點為(xp,yp),則下一個象素點有兩種可選擇點P1(xp+1,yp)或P2(xp+1,yp+1).若P1與P2的中點(xp+1,yp+0.5)稱為M,Q為理想直線與x=xp+1垂線的交點.當M在Q的下方時,則取P2應為下一個象素點;當M在Q的上方時,則取P1為下一個象素點.這就是中點畫線法的基本原理Bresenham:過各行、各列像素中心構造一組虛擬網格線,按直線從起點到終點的順序計算直線各垂直網格線的交點,然後確定該列像素中與此交點最近的像素.該演算法的優點在於可以採用增量計算,使得對於每一列,只要檢查一個誤差項的符號,就可以確定該列所求的像素.大概就是這樣,預知詳細,

B. 圖形學中的中點畫線法與Bresenham演算法畫線的區別

個人認為最關鍵的區別就是那個決策參數的計算方式!
在Bresenham演算法中,假設我們在(x0,y0)處畫了一個點,那我們就要決定下一個點是在(x0+1,y0)還是在(x0+1,y0+1)處畫,這兩個點一般都不在直線上,我們要計算這兩個點離直線有多遠,分別設兩個點離直線的距離為p1、p2,然後決策參數就是p=p2-p1,再根據p的符號來判斷選擇哪個點
至於中點法,我沒有用它來畫過直線,只用來畫過圓(自我感覺畫圓用這個演算法比Bresenham演算法要好很多),但原理應該差不多!
在中點演算法中,決策參數的就是方式就是圓的方程(換成直線就是直線的方程了),比如要畫x^2+y^2=r^2的圓,那決策參數p=x^2+y^2-r^2,然後就不是代入上面找到的兩個點直接代進去,而是代這兩個點的中點進去,求出p的值,根據p的符號來判斷那個中點是在圓上、圓內還是圓外,再進一步決定選擇繪哪個點!
具體的計算過程沒辦法在這里完整演示,但個人認為不同之處還是在於決策參數的選擇與計算

閱讀全文

與中點直線演算法的特點相關的資料

熱點內容
逛了一天累趴了來一歌解壓句子 瀏覽:345
谷歌app在哪裡掃碼 瀏覽:989
華為手環加密門禁卡怎麼設置 瀏覽:732
pdf轉xlsx 瀏覽:96
nh3水溶液ph的演算法 瀏覽:483
pdf貓壓縮 瀏覽:49
數據挖掘分類演算法研究 瀏覽:101
河北航天發票認證伺服器地址 瀏覽:727
阿里程序員績效錄入 瀏覽:382
eb蜜罐原理及源碼 瀏覽:803
命令界面怎麼調大小 瀏覽:890
公共測試伺服器做什麼的 瀏覽:746
湖南網路伺服器雲空間 瀏覽:365
做博客需要什麼app 瀏覽:548
查看網站編程語言 瀏覽:302
我的世界伺服器的密碼怎麼弄 瀏覽:644
電腦文件夾如何傳輸視頻不壓縮 瀏覽:145
安卓對單片機編程 瀏覽:728
被加密的txt 瀏覽:927
單片機匯編調用子程序 瀏覽:253