青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Impossible is nothing  
  愛過知情重醉過知酒濃   花開花謝終是空   緣份不停留像春風(fēng)來又走   女人如花花似夢
公告
日歷
<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456
統(tǒng)計(jì)
  • 隨筆 - 8
  • 文章 - 91
  • 評(píng)論 - 16
  • 引用 - 0

導(dǎo)航

常用鏈接

留言簿(4)

隨筆分類(4)

隨筆檔案(8)

文章分類(77)

文章檔案(91)

相冊(cè)

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

 

在進(jìn)行圓的轉(zhuǎn)換時(shí),只要能生成8分圓,那么圓的其它部分可通過一系列的簡單反射變換得到。本小節(jié)介紹一種常用的畫圓算法:Bresenham畫圓算法。

Bresenham算法:不失一般性,考慮圓心在原點(diǎn),半徑為R的第一個(gè)4分圓。取(0,R)為起點(diǎn),按順時(shí)針方向生成圓。從這段圓弧的任意一點(diǎn)出發(fā),按順時(shí)針方向生成圓時(shí),為了最佳逼近該圓,下一象素的取法只要三種可能的選擇:正右方象素,右下方象素和正下方象素。

 

xi+1=xi+1

相應(yīng)的yi+1則在兩種可能中選擇:

yi+1=yi,或者yi+1=yi-1

選擇的原則是考察精確值y靠近yi還是靠近yi-1(圖1),計(jì)算式為

y2=r2-(xi+1)2

d1=yi2-y2

    =yi2-r2+(xi+1)2

d2=y2-(yi-1)2

    =r2-(xi+1)2-(yi-1)2

2_2_2.gif (3311 bytes)

圖1

 

令pi=d1-d2,并代入d1, d2,則有

pi=2(xi+1)2+yi2+(yi-1)2-2r2 (2.2.1)

pi稱為誤差。如果pi<0則yi+1=yi,否則yi+1=yi-1。pi的遞歸式為:

pi+1=pi+4xi+6+2(yi2+1-yi2)-2(yi+1-yi) (2.2.2)

pi的初值由式(2.6)代入xi=0, yi=r而得

          p1=3-2r (2.2.3)

根據(jù)上面的推導(dǎo),圓周生成算法思想為:

1、求誤差初值,p1=3-2r; i=1;畫點(diǎn)(0, r);

 

2、求下一個(gè)光柵位置:

xi+1=xi+1;

if pi<0 則yi+1=yi;

否則yi+1=yi-1;

 

3、畫點(diǎn)(xi+1, yi+1)

 

4、計(jì)算下一個(gè)誤差:

if pi<0 則pi+1=pi+4xi+6;

否則 pi+1=pi+4(xi-yi)+10;

5、i=i+1; if x=y則end;否則返2。

 

雖然式(2.2.2)式表示pi+1的算法似乎很復(fù)雜,但因?yàn)閥i+1只能取值yi或yi-1,因此在算法中,第4步的算式變得很簡單,只須作加法和4的乘法。因此圓的Bresenham算法運(yùn)行速度也是很快的,并適宜于硬件實(shí)現(xiàn)。

圓的Bresenham算法的程序?qū)崿F(xiàn)見程序2.2.1。

circle (xc, yc, radius, c)

int xc, yc, radius, c;

{

int x, y, p;

x=0;

y=radius;

p=3-2*radius;

while (x<y){

        plot_circle_points(xc, yc, x, y, c);

        if (p<0) p=p+4*x+6;

        else{

                  p=p+4*(x-y)+10;

                  y-=1;

                }

        x+=1;

                 }

if (x= =y)

        plot_circle_points(xc, yc, x, y, c);

}

 

plot_circle_points(xc, yc, x, y, c)

int xc, yc, x, y, c;

{

set_pixel(xc+x, yc+y, c);

set_pixel(xc+x, yc+y, c);

set_pixel(xc+x, yc-y, c);

set_pixel(xc-x, yc-y, c);

set_pixel(xc+y, yc+x, c);

set_pixel(xc-y, yc+x, c);

set_pixel(xc+y, yc-x, c);

set_pixel(xc-y, yc-x, c);

} 

 

 Bresenham的圓生成算法

 設(shè)圓之半徑為r。先考慮圓心在(0,0),并從x=0, y=r開始的順時(shí)針方向的1/8圓周的生成過程。在這種情況下,x每步增加1,從x=0開始,到x=y結(jié)束。即有:

給出圓心坐標(biāo)xc, yc,和半徑r,逐點(diǎn)畫出一個(gè)圓周的公式有下列兩種:

 

1、直角坐標(biāo)法:

(x-xc)2+(y-yc)2=r2

由上式導(dǎo)出

y=

當(dāng)x-xc從-r到r作加1遞增時(shí),就可以求出對(duì)應(yīng)的圓周點(diǎn)的y坐標(biāo)。但是這樣求出的圓周上的點(diǎn)是不均勻的;|x-xc|越大,對(duì)應(yīng)生成圓周點(diǎn)之間的圓周距離也就越長。因此,所生成的圓不美觀。.

2、極坐標(biāo)法:

x=xc+r·cosθ

y=yc+r·sinθ

當(dāng)θ 從0 度到360 作加1遞增時(shí),由此式便可求出圓周上均勻分布的360個(gè)點(diǎn)的x, y坐標(biāo)。利用圓周坐標(biāo)的對(duì)稱性,此算法還可以簡化:將圓周分為8個(gè)象限(圖2.2.1)。只要將第1a象限中的圓周光柵點(diǎn)求出,其余7部分圓周就可以通過 對(duì)稱法則計(jì)算出來。圖2.2.1給出了圓心在0,0點(diǎn)時(shí)的對(duì)稱變換法則。但即使作了如此簡化,用上述公式每算一點(diǎn),都要經(jīng)過三角函數(shù)計(jì)算,仍有相當(dāng)大的計(jì)算量。

 

  2_2_1.gif (3964 bytes)

圖2.2.1 圓心在0,0點(diǎn)圓周生成時(shí)的對(duì)稱變換

 

在計(jì)算機(jī)中上述兩個(gè)公式所示的方法生成圓周都頗費(fèi)時(shí),下面介紹的算法則要簡捷得多。

3.圓的Bresenham算法

posted on 2006-02-24 22:21 笑笑生 閱讀(1630) 評(píng)論(0)  編輯 收藏 引用

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


 
Copyright © 笑笑生 Powered by: 博客園 模板提供:滬江博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美中日韩免费视频| 亚洲精品黄网在线观看| 99精品久久| 狠狠入ady亚洲精品| 欧美日韩一区在线观看视频| 久久午夜国产精品| 亚洲欧美日韩中文播放| 亚洲精选一区| 欧美激情免费观看| 久久免费午夜影院| 欧美一级理论片| 亚洲人午夜精品| 欧美在线视频全部完| 亚洲乱码国产乱码精品精天堂| 欧美在线观看日本一区| 亚洲欧洲在线一区| 亚洲春色另类小说| 欧美一区二区三区免费在线看| 国产一区二区看久久| 久久久国产一区二区| 午夜精品福利一区二区蜜股av| 黄网站免费久久| 亚洲精品日韩欧美| 国产免费成人在线视频| 欧美成人有码| 国产精品视频免费观看| 欧美成人午夜| 国产欧美日韩精品在线| 亚洲人成网在线播放| 国产精品视频xxxx| 亚洲欧洲日夜超级视频| 欧美一区二区三区四区在线| 一区二区在线看| 亚洲欧美日韩在线观看a三区| 亚洲毛片播放| 久久久女女女女999久久| 在线一区二区三区做爰视频网站| 久久网站免费| 夜夜嗨av一区二区三区四季av| 在线视频欧美日韩| 久久精品国产91精品亚洲| 国产美女精品视频| 99ri日韩精品视频| 国产日韩在线不卡| 久久九九国产精品| 91久久国产综合久久| 91久久精品久久国产性色也91 | 欧美精品久久久久久| 久久精品一区二区| 宅男在线国产精品| 国产精品一区久久| 国产在线拍揄自揄视频不卡99| 国产手机视频精品| 黄色av成人| 亚洲理伦在线| 亚洲女性喷水在线观看一区| 久久精品国产精品亚洲| 男同欧美伦乱| 亚洲人成久久| 亚洲小说欧美另类婷婷| 欧美伊人精品成人久久综合97| 久久精品国产77777蜜臀| 欧美阿v一级看视频| 国产精品jvid在线观看蜜臀 | 国产精品视频最多的网站| 国产精品一级久久久| 好吊色欧美一区二区三区视频| 亚洲欧洲一区二区天堂久久| 亚洲一区二区三区777| 久久精品欧洲| 亚洲精品影院| 欧美一区=区| 欧美久久久久免费| 国产一区av在线| 日韩亚洲在线| 久久亚洲精品一区二区| 亚洲精品一区二区三区婷婷月 | 欧美成人伊人久久综合网| 欧美色图一区二区三区| 国内精品嫩模av私拍在线观看 | 亚洲免费视频观看| 久久综合伊人77777蜜臀| 国产精品久久久免费| 亚洲国产精品成人| 欧美在线观看一区二区三区| 亚洲电影激情视频网站| 亚洲欧美电影院| 欧美精品一级| 狠狠综合久久| 香蕉久久夜色精品国产使用方法| 欧美国产一区在线| 性色av一区二区怡红| 欧美日韩亚洲高清一区二区| 在线国产欧美| 欧美一区视频| 一本久久a久久精品亚洲| 两个人的视频www国产精品| 国产精品日韩欧美一区二区| 99视频精品免费观看| 美女国产精品| 香蕉免费一区二区三区在线观看| 欧美日韩国产三区| 亚洲日本黄色| 欧美a级理论片| 久久成人18免费网站| 国产精品一卡| 午夜精品久久久久久久99水蜜桃| 亚洲精品久久久久| 蜜桃av一区二区| 在线成人免费观看| 久久午夜电影| 欧美一区影院| 国产精品自拍视频| 亚洲欧美视频在线| 亚洲最新视频在线播放| 欧美精选午夜久久久乱码6080| 亚洲欧洲在线看| 欧美国产免费| 狼狼综合久久久久综合网| 激情综合网址| 久久综合图片| 久久久7777| 尤物99国产成人精品视频| 久久野战av| 久久深夜福利免费观看| 在线高清一区| 欧美成人69av| 嫩草影视亚洲| 亚洲日本欧美在线| 亚洲欧洲精品一区二区三区不卡| 欧美电影在线观看| 亚洲最新合集| 99亚洲一区二区| 国产精品爱啪在线线免费观看| 亚洲夜间福利| 亚洲女ⅴideoshd黑人| 国产精品人人爽人人做我的可爱| 午夜精品一区二区三区电影天堂 | 国产日韩欧美精品综合| 欧美专区第一页| 欧美一区永久视频免费观看| 激情综合色综合久久| 欧美国产一区二区三区激情无套| 欧美二区视频| 亚洲一区二区三区精品在线| 亚洲一二三区在线观看| 国产日产高清欧美一区二区三区| 久久久91精品国产一区二区精品| 久久精品日产第一区二区三区| 国内精品免费午夜毛片| 欧美黄污视频| 欧美日韩在线免费视频| 欧美一区影院| 久久婷婷成人综合色| 一区二区欧美日韩| 午夜精品久久久久久久久久久久久 | 亚洲一区视频在线| 国内精品免费在线观看| 亚洲国产精品久久| 国产精品日韩一区二区| 老司机一区二区三区| 欧美日韩国产在线播放网站| 欧美一区二区三区免费看| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲作爱视频| 午夜在线电影亚洲一区| 亚洲国产综合在线| 亚洲视频一区二区| 亚洲第一免费播放区| 一区二区三区国产在线观看| 国产一区欧美日韩| 亚洲美女色禁图| 国产原创一区二区| 亚洲精品国产精品国自产观看浪潮| 国产精品视频不卡| 欧美国产亚洲另类动漫| 国产精品美女久久久| 欧美99在线视频观看| 国产精品久久久久免费a∨| 欧美成人免费全部观看天天性色| 国产精品久久国产愉拍 | 亚洲一区二区三区免费视频| 伊大人香蕉综合8在线视| 99视频超级精品| 亚洲第一网站免费视频| 亚洲综合首页| 亚洲视频狠狠| 久久躁日日躁aaaaxxxx| 香蕉免费一区二区三区在线观看| 免费亚洲网站| 久久另类ts人妖一区二区| 欧美视频在线免费看| 欧美成人情趣视频| 国产有码在线一区二区视频| 99在线精品视频| 亚洲精品网站在线播放gif| 久久精品国产第一区二区三区最新章节| 在线综合亚洲欧美在线视频| 蜜臀久久99精品久久久久久9| 久久精品国产清自在天天线|