国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【計(jì)算機(jī)圖形學(xué)】作業(yè):Bresenham 法繪制圓

這篇具有很好參考價(jià)值的文章主要介紹了【計(jì)算機(jī)圖形學(xué)】作業(yè):Bresenham 法繪制圓。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

題目:

請采用 Bresenham 法繪制圓(共 30 分)。要求: (1) 給出算法的文字描述(共 15 分)。 (2) 編寫函數(shù),在給定圓心坐標(biāo)和半徑的情況下,計(jì)算出圓 上所有的點(diǎn),并將這些點(diǎn)存儲(chǔ)在數(shù)組中(共 15 分)。

解答:

?1、給出算法的文字描述(共 15 分)。

  1. 輸入圓的圓心(xc,yc),半徑r。數(shù)組circlepoints為輸出,保存圓上所有點(diǎn)。
  2. 初始化,x=0,y=r,d=2*(1-r),i=d1=d2=direction=0。
  3. 若y>=0,將(xc+x,yc+y),(xc-x,yc+y),(xc+x,yc-y),(xc-x, yc-y)這四個(gè)點(diǎn)存入數(shù)組circlepoints[i…i+3],i=i+4,并畫出這四個(gè)點(diǎn);否則算法結(jié)束。
  4. 如果d<0,則d1=2*(d+y)-1,若d1<0,direction=1;否則,direction=2。如果d>0,則d2=2*(d-x)-1,若d2<=0,direction=2;否則,direction=3。如果d==0,direction=2。
  5. 若direction==1,d+=2*x+3,x++;若direction==2,d+=2*(x+1)-2*(y-1)+2,x++,y--;若direction==3,d+=-2*(y-1)+1,y--。轉(zhuǎn)入步驟(3)。

?(2) 編寫函數(shù),在給定圓心坐標(biāo)和半徑的情況下,計(jì)算出圓上所有的點(diǎn),并將這些點(diǎn)存儲(chǔ)在數(shù)組中(共 15 分)。

void Bresenham_Circle(int xc, int yc, int r)
{
	int x, y, d, d1,d2,direction,i=0; CPoint circlepoints[N];
	x = 0, y = r, d = 2 * (1 - r);//初始化
	while (y >= 0)
	{
		circlepoints[i]=CPoint(x + xc, y + yc);
		circlepoints[i+1]=CPoint(x + xc, -y + yc);
		circlepoints[i+2]=CPoint(-x + xc, y + yc);
		circlepoints[i+3]=CPoint(-x + xc, -y + yc);i=i+4;
		if (d < 0)
		{
			d1 = 2 * (d + y) - 1;
			if (d1 < 0) direction = 1;
			else direction = 2;
		}

		else if (d > 0)
		{
			d2 = 2 * (d - x) - 1;
			if (d2 <= 0) direction = 2;
			else direction = 3;
		}
		else direction = 2;
		switch (direction)
		{
		case 1:d += 2 * x + 3; x++;  break;
		case 2: d += 2 * (x + 1) - 2 * (y - 1) + 2; x++, y--; break;
		case 3:d += -2 * (y - 1) + 1; y--; break;
		}
	}
}

?文章來源地址http://www.zghlxwxcb.cn/news/detail-819584.html

?

到了這里,關(guān)于【計(jì)算機(jī)圖形學(xué)】作業(yè):Bresenham 法繪制圓的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包