目的:理解基本圖形元素光柵化的基本原理;掌握一種基本圖形元素光柵化演算法;利用opengl實現直線光柵化的
dda演算法。
要求:根據所給的直線光柵化的示範源程式,在計算機上編譯執行,輸出正確結果;了解和使用opengl的生成直線的命令,來驗證程式執行結果。
#include #include#include#include#includeint color[3],wideth=0;
void linedda(int x0,int y0,int x1,int y1,int color)
}
void mydisplay(void)
void init()
void reshape(int w,int h)
void select()
printf("plese select the line's wideth:\n");
scanf("%d",&wideth);
wideth*=1.0;
}
int main (int argc, char *argv)
執行截圖:
直線生成演算法
所謂圖元的生成,是指完成圖元的引數表示形式 由圖形軟體包的使用者指定 到點陣表示形式 光柵顯示系統重新整理時所需的表示形式 的轉換。通常也稱掃瞄轉換圖元。直線的掃瞄轉換 確定最佳逼近於該直線的一組畫素,並且按掃瞄線順序對這些畫素進行寫操作。三個常用演算法 1 數值微分法dda 2 中點畫線法 3 b...
實驗二 直線生成演算法
一 實驗目的和要求 1.理解基本圖形元素光柵化的基本原理,掌握一種基本圖形元素光柵化演算法,利用opengl實現直線光柵化的dda演算法。二 實驗內容及主要步驟 1 根據所給的直線光柵化的示範源程式,寫出dda演算法,在計算機上編譯執行,輸出正確結果 2 了解和使用opengl的生成直線的命令,來驗...
直線生成演算法 Bresenham畫線法
我們將平面劃分成十個部分,從第一象限的x軸開始做逆時針旋轉,每隔45度角為一部分,由此類推到第八部分。y軸正向為第九部分,負向為第十部分。當直線的斜率k 0,1 bresenham畫線演算法的基本原理是通過各行各列畫素中心構造一張虛擬網格線,按直線從起點到終點的順序計算直線與各垂直網格線的交點,然後...