第四章:p215
1、將中點畫線演算法推廣以便能畫出任意斜率的直線
演算法設計:
(1) 輸入直線的起點座標p0(x0,y0)和終點座標p1(x1,y1).
(2) 定義直線當前點座標x和y,定義中點偏差判別式d、直線斜率k、畫素點顏色rgb
(3) x= x0,y= y0計算d=0.5-k,k=( y1-y0)/(x1-x0), rgb=rgb=(0,0,255).
(4) 繪製點(x,y),判斷d的符號,若d<0,則(x, y)更新為(x+1,y+1),d更新為d+1-k,否則(x, y)更新為(x+1,y),d更新為d-k.
(5) 如果當前點x小於(x1,重複步驟(4),否則結束。
程式主要**:
midpointline(x0,y0,x1,y1,color)
else
putpixel(x,y,color);
}else
while (x
}2、採用整數bresenham演算法,為一台計算機編制直線掃瞄轉換程式。從鍵盤敲入兩端點座標,就能在顯示器螢幕上畫出對應的直線。
void drawline(int color)
}}4、試編寫按逆時針方向生成第二個8分圓的中點演算法
演算法設計:
(1) 輸入圓的半徑
(2) 定義圓當前點座標x和y、中點偏差判別式d、畫素點顏色rgb
(3) 計算d=1.25-r,x=0,y=r, rgb=rgb=(0,0,255).
(4) 繪製點(x, y),及其在八分圓中的另外7個對稱點『
(5) 判斷d的符號,若d<0,則(x, y)更新為(x+1,y),d更新為d+2x+3,否則(x, y)更新為(x+1,y-1),d更新為d+2(x-y)+5.
(6) 當x小於等於y,重複步驟(4)和(5),否則結束。
midpointcircle(r,color)
int r, color;
else
drawpixel(x,y,color);}}
5、假設圓的圓心不在原點,試編寫演算法對整個圓進行掃瞄轉換
演算法設計:
(1) 輸入圓的半徑r, 圓心座標為(xc,yc)
(2) 定義圓當前點座標x和y、中點偏差判別式d、畫素點顏色rgb
(3) 計算d=1.25-r,x=0,y=r, rgb=rgb=(0,0,255).
(4) 繪製點(x+xc, y+yc),及其在八分圓中的另外7個對稱點『
(5) 判斷d的符號,若d<0,則(x, y)更新為(x+1,y),d更新為d+2x+3,否則(x, y)更新為(x+1,y-1),d更新為d+2(x-y)+5.
(6) 當x小於等於y,重複步驟(4)和(5),否則結束。
(1)用bresenham畫圓法,設圓心座標為(xc,yc)
bresenham_circle(r,color)
int r,color;
else if (delta>0)
else
direction=2;
switch (direction) }
}(2) 採用中點畫圓演算法
#include <>
#include <>
#include <>
midpointcircle(r,color)
int r, color;
else
putpixel(xc+x,yc+y,color);}}
putpixel(x,y,color);
putpixel(xc+yc-y,yc+xc-x,color);
putpixel(xc+yc-y,yc+xc-x,color);
putpixel(x, yc+yc-y,color);
putpixel(xc+xc-x,yc+yc-y,color);
putpixel(xc-yc+y,yc-xc+x,color);
putpixel(xc-yc+y,yc+xc-x,color);
putpixel(xc+xc-x,y,color);
}void main()
計算機圖形學期末複習
第一章緒論 名詞解釋 圖形 影象 點陣法 引數法。圖形 是指能夠在人的視覺系統中形成視覺印象的客觀物件。點陣法 是具有灰度或顏色資訊的點陣來表示圖形的一種方法,它強調圖形有哪些點組成,這些點具有什麼灰度或色彩。圖形包括哪方面的要素引數法 是以計算機所記錄的圖形的形狀引數與屬性引數來表示圖形的一種方法...
初三數學期末複習二 圖形與證明
一 基礎練習 1 若順次鏈結乙個四邊形各邊中點所得的圖形是正方形,那麼這個四邊形的對角線 a 互相垂直 b 相等 c 互相平分 d 互相垂直且相等 2 如圖,在 abcd中,e是bc的中點,且 aec dce,下列結論不正確的是 a bf df b s fad 2s fbe c 四邊形aecd是等腰...
初三數學期末複習一 圖形與證明
一 基礎練習 1 下列圖形 線段 正三角形 平行四邊形 矩形 菱形 正方形 等腰梯形 直角梯形,其中既是中心對稱圖形,又是軸對稱圖形的共有 a 3個 b 4個 c 5個 d 6個 2 乙個菱形的兩條對角線長分別是6cm,8cm,則這個菱形的面積為 a.48cm2 b.24cm2 c.12cm2 d....