亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種快速的Bresenham直線生成改進(jìn)算法

        2014-04-29 00:00:00孫云

        摘 要:直線的生成算法是圖形光柵化中最基本的算法,基于經(jīng)典的Bresenham算法,提出了一種新的直線生成算法,該算法通過直線的第一和第二像素行的像素點(diǎn)數(shù)目計算其他各個像素行的像素點(diǎn)數(shù)目,利用直線的對稱性,每執(zhí)行一次生成兩個像素行。算法中不包含浮點(diǎn)運(yùn)算和取整運(yùn)算,且算法的執(zhí)行次數(shù)減少,使得直線的生成速度加快。

        關(guān)鍵詞:圖形光柵化;Bresenham算法;增量;誤差項(xiàng)

        中圖分類號:TP301.6

        直線是圖形中的基本元素,到目前為止已有很多種直線的生成算法,如數(shù)值微分法、中點(diǎn)畫線法和Bresenham算法[1],其中Bresenham算法研究的最多,它的原理是:以各行各列的像素為中心虛擬一組坐標(biāo)線,按直線上x坐標(biāo)從小到大的順序,計算直線與各個坐標(biāo)線的交點(diǎn),確定與該交點(diǎn)距離最小的像素。本文在研究了經(jīng)典的Bresenham算法以及諸多改進(jìn)算法之后,提出了一種快速的Bresenham直線生成改進(jìn)算法,既保留了Bresenham算法中無需浮點(diǎn)運(yùn)算和取整運(yùn)算的優(yōu)點(diǎn),又能使得每次計算生成一個像素行,極大地提高了算法的執(zhí)行效率。

        1 Bresenham算法的基本思想

        先考慮直線段位于第一象限、斜率|m|≤1時的掃描轉(zhuǎn)換過程從直線的第一個像素點(diǎn)(x0,y0)開始,以橫坐標(biāo)由大到小的順序依次尋找與直線最接近的像素點(diǎn)。如圖1所示,假設(shè)坐標(biāo)為(xk,yk)為直線的當(dāng)前像素點(diǎn),然后在列xk+1上確定掃描線y的值。

        Bresenham算法的優(yōu)點(diǎn)在于使用增量計算,確定所選的像素。相對于其他直線的生成算法而言,它避免了乘除法運(yùn)算和取整運(yùn)算,效率較高。但是每次只能判斷一個誤差項(xiàng)的符號,生成一個像素點(diǎn)。因此,許多專家對Bresenham算法作了一些改進(jìn),基本上都是通過直線的斜率求每行的像素點(diǎn)個數(shù)[3],來提高直線的生成速度,但由于引進(jìn)了浮點(diǎn)運(yùn)算甚至除法運(yùn)算,使得整體的改進(jìn)效率提高不大。

        2 快速的Bresenham直線生成改進(jìn)算法

        設(shè)像素點(diǎn)P(xp,yp)為當(dāng)前的像素點(diǎn),則待選擇的像素點(diǎn)可能是點(diǎn)E或點(diǎn)G如圖2所示。設(shè)F(x,y)為需光柵化的直線函數(shù),點(diǎn)E和點(diǎn)G的中點(diǎn)為M,如果F(M)>0,則點(diǎn)M在該直線的下方,選則點(diǎn)G,如果F(M)≤0,則點(diǎn)M在直線上方,選則點(diǎn)E。Bresenham算法定義了一個判定變量d=F(xp+1,yp+1/2),通過d值的正負(fù)來選擇下一個像素點(diǎn)的坐標(biāo)[4]。

        通過以上分析可以得知,通過Bresenham算法生成的直線除卻起始和終止兩行像素點(diǎn)外,中間各像素行的像素點(diǎn)個數(shù)滿足:Q≤e≤Q+1。

        確定了像素行的第k個像素點(diǎn)的判定變量的符號,可以推斷該行的像素點(diǎn)個數(shù)。因?yàn)閐k=d1+2kdy-2dx,如果dk<0,該行的像素點(diǎn)個數(shù)為Q+1;如果dk>0,下一像素行的像素點(diǎn)個數(shù)為Q個,計算一次d值可以找到一個像素行的所有像素點(diǎn)。

        本改進(jìn)算法的關(guān)鍵是求Q的值,本文大膽猜測使用直線的前兩行像素點(diǎn)個數(shù)求Q的值。通過數(shù)學(xué)分析證明,若Bresenham算法生成的直線的前兩個像素行分別有n和m個像素點(diǎn),則

        可以通過兩種情況論證上述結(jié)論:

        1)如果Bresenham算法生成的直線的第1個像素行的像素點(diǎn)個數(shù)為n,則2n-2≤dx/dy<2n,則該直線第n個像素點(diǎn)的d≤0,而第n+1個像素點(diǎn)的d>0,即 ,其中,d0=2dy-dx為d的初值,是直線第2個像素點(diǎn)的d值,將d0代入 ,得2n-2≤dx/dy<2n;

        2)如果Bresenham算法生成的直線的第2個像素行有m個像素點(diǎn),則m-1≤dx/dym+1,且2n-1≥m+1>dx/dy≥2n-2則Q=2n-2;若2ndx/dy≥m-1則Q=m-1;若2n=m+1,dn+1>0,而第m+n個像素點(diǎn)的判定變量dm+n≤0,且第m+n+1個像素點(diǎn)的dm+n+1>0,則Q=2n-1。

        3 算法及驗(yàn)證

        將上述數(shù)學(xué)思想轉(zhuǎn)化為算法[6],程序如下。其中變量valuel,valueB是直線和背景的顏色值;函數(shù)Linel表示參照value取點(diǎn)共n個像素點(diǎn);由Bresenham算法生成前兩行以及末行像素,新算法生成其他各像素行。

        在該算法中,沒有除法、取整以及浮點(diǎn)運(yùn)算,只通過兩次減法就求得了n和m,通過一次計算又求得了Q的值,每執(zhí)行一次就能生成一個像素行,另利用直線的對稱性,使得每執(zhí)行一次就能生成兩個像素行。將該算法在計算機(jī)上實(shí)現(xiàn),如表1所示,改進(jìn)算法與Bresenham算法相比效率明顯提高。

        由算法的原理可知,當(dāng)待生成直線只有一個像素行時,改進(jìn)算法與Bresenham算法的生成速度相同,其他情況下,改進(jìn)算法的執(zhí)行速度都明顯高于經(jīng)典的Bresenham算法,且生成的像素行數(shù)越多,節(jié)省的執(zhí)行時間就越明顯。

        4 結(jié)束語

        本文在研究經(jīng)典Bresenham算法的基礎(chǔ)上,提出了一種快速的直線生成算法,利用直線的第一行像素點(diǎn)個數(shù)推出其他各像素行的像素點(diǎn)數(shù)目,充分利用直線的對稱性使得每執(zhí)行一次能生成兩個像素行,相對于經(jīng)典Bresenham算法每執(zhí)行一次只能生成一個像素點(diǎn)來說,極大地提高了直線的生成速度。

        參考文獻(xiàn):

        [1]James D Foley.計算機(jī)圖形學(xué)導(dǎo)論[M].北京:機(jī)械工業(yè)出版社,2004:48-56.

        [2]Mel Slater.計算機(jī)圖形學(xué)與虛擬環(huán)境[M].北京:機(jī)械工業(yè)出版社,2004:270-272.

        [3]Asiful Haque ,Mohammad Saifur Rahman ,Mehedi Bakht.Drawing lines by uniform packing[J].Computers Graphics,2006(02):207-212.

        [4]鄭宏珍.改進(jìn)的Bresenham直線生成算法[J].中國圖像圖形學(xué)報,1999(07):606-608.

        [5]SunYan.The parallel algorithm of Bresenham[J].Computer Engineering and Applications,2001(21):136-137.

        [6]孫巖.并行的Bresenham直線生成算法[J].計算機(jī)工程與應(yīng)用,2001(21):136-137.

        作者簡介:孫云(1989-),女,工學(xué)碩士,主要研究方向:圖形圖像處理。

        作者單位:重慶理工大學(xué)計算機(jī)科學(xué)與工程學(xué)院,重慶 400054

        基金項(xiàng)目:重慶市科學(xué)技術(shù)委員會科技攻關(guān)項(xiàng)(cstc2012gg-yyjs40011)。

        97久久成人国产精品免费| 欧美精品v国产精品v日韩精品| 国产又滑又嫩又白| 亚洲动漫成人一区二区| 久久天堂精品一区专区av| 岛国熟女精品一区二区三区| 性裸交a片一区二区三区| 国产高潮刺激叫喊视频| 国产精品国产午夜免费看福利| 日日高潮夜夜爽高清视频| 人成午夜大片免费视频77777| 一区二区三区国产亚洲网站| 亚洲欧美日韩国产一区二区精品| 中文字幕人成乱码中文| av网站免费线看精品| 无码av免费一区二区三区试看| 国产精品18久久久久网站| 国产女主播在线免费看| www婷婷av久久久影片| 中文字幕爆乳julia女教师| 日日爽日日操| 亚洲中文字幕乱码在线观看| 乱老年女人伦免费视频| 人妻少妇av无码一区二区| 欧美日韩国产乱了伦| 一本色道久久亚洲精品| 伊人久久大香线蕉av不卡| 亚洲免费不卡| 人妻av中文字幕精品久久| 亚洲av无码国产精品久久| 亚洲精品无码久久久久av麻豆| 国产一线视频在线观看高清| 国产精品成人一区二区在线不卡| 国产三级av在线播放| 亚洲AV成人无码久久精品老人 | 人成午夜免费大片| 亚洲熟妇中文字幕日产无码| 中文字幕高清不卡视频二区| 久久精品欧美日韩精品| 国产综合自拍| 国产一区二区三区在线爱咪咪|