




已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
.計算機圖形學實驗報告姓名:_ _學號:_ _班級:_ _ 時間:_2016年12月_實驗一 OpenGL編程與圖形繪制1 實驗目的了解OpenGL編程,并熟悉OpenGL的主要功能、繪制流程和基本語法。學會配置OpenGL環(huán)境,并在該環(huán)境中編程繪圖。2 實驗內容OpenGL的主要功能:模型繪制、模型觀察、顏色模式、光照應用、圖像效果增強、位圖和圖像處理、紋理映射、實時動畫和交互技術。OpenGL的繪制流程分為兩個方面:一個完整的窗口系統(tǒng)的OpenGL圖形處理系統(tǒng)的結構為:最底層為圖形硬件,第二層為操作系統(tǒng),第三層為窗口系統(tǒng),第四層為OpenGL,最上面的層為應用軟件;OpenGL命令將被放在一個命令緩沖區(qū)中,這樣命令緩沖區(qū)中包含了大量的命令、頂點數(shù)據(jù)和紋理數(shù)據(jù)。當緩沖區(qū)被清空時,緩沖區(qū)中的命令和數(shù)據(jù)都將傳遞給流水線的下一個階段。OpenGL的基本語法中相關庫有:OpenGL核心庫:gl、OpenGL實用程序庫: glu、OpenG編程輔助庫:aux、OpenGL實用程序工具包(OpenGL utility toolkit,GLUT):glut、Windows專用庫:wgl。OpenGL的基本語法中命名規(guī)則為:OpenGL函數(shù)都遵循一個命名約定,即采用以下格式:。了解了上述基礎知識后,配置好OpenGL環(huán)境,然后在該環(huán)境中編程練習圖形的繪制,本次實驗主要是對點的繪制、直線的繪制和多邊形面的繪制。3 實驗代碼及結果3.1點的繪制:#includevoid Initial(void) glClearColor(1.0f,1.0f,1.0f,1.0f); /設置窗口背景顏色為白色 glMatrixMode(GL_PROJECTION); /指定設置投影參數(shù) gluOrtho2D(0.0,200.0,0.0,150.0); /設置投影參數(shù)void Display(void) glClear(GL_COLOR_BUFFER_BIT); /用當前背景顏色填充窗口 glColor3f(1.0f,0.0f,0.0f); /設置當前的繪圖顏色為紅 / glRectf(50.0f,100.0f,150.0f,50.0f); /繪制一個矩形 glPointSize(10); /三個點 glBegin(GL_POINTS); glColor3f(1.0f,0.0f,0.0f); glVertex2i(2,148); glVertex2i(100,75); glVertex2i(198,2); glEnd(); glFlush(); /清空OpenGL命令緩沖區(qū),執(zhí)行OpenGL程序int main(int argc,char*argv) glutInit(&argc,argv); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); /初始化窗口的顯示模式 glutInitWindowSize(400,300); /設置窗口的尺寸 glutInitWindowPosition(100,120); /設置窗口位置 glutCreateWindow(矩形); /創(chuàng)建一個名為矩形的窗口 glutDisplayFunc(Display); /設置當前窗口的顯示回調函數(shù) Initial(); /完成窗口初始化 glutMainLoop(); /完成窗口GLUT事件處理循環(huán) return 0;運行結果:3.2直線的繪制:#includevoid Initial(void) glClearColor(1.0f,1.0f,1.0f,1.0f); /設置窗口背景顏色為白色 glMatrixMode(GL_PROJECTION); /指定設置投影參數(shù) gluOrtho2D(0.0,200.0,0.0,150.0); /設置投影參數(shù)void Display(void) glClear(GL_COLOR_BUFFER_BIT); /用當前背景顏色填充窗口 glColor3f(1.0f,0.0f,0.0f); /設置當前的繪圖顏色為紅色 / glRectf(50.0f,100.0f,150.0f,50.0f); /繪制一個矩形glBegin(GL_LINE_LOOP); /五角星 glVertex2i(10,10); glVertex2i(30,35); glVertex2i(50,10); glVertex2i(5,25); glVertex2i(55,25); glEnd(); glFlush(); /清空OpenGL命令緩沖區(qū),執(zhí)行OpenGL程序int main(int argc,char*argv) glutInit(&argc,argv); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); /初始化窗口的顯示模式 glutInitWindowSize(400,300); /設置窗口的尺寸 glutInitWindowPosition(100,120); /設置窗口位置 glutCreateWindow(矩形); /創(chuàng)建一個名為矩形的窗口 glutDisplayFunc(Display); /設置當前窗口的顯示回調函數(shù) Initial(); /完成窗口初始化 glutMainLoop(); /完成窗口GLUT事件處理循環(huán) return 0;運行結果:3.3多邊形面的繪制:#includevoid Initial(void) glClearColor(1.0f,1.0f,1.0f,1.0f); /設置窗口背景顏色為白色 glMatrixMode(GL_PROJECTION); /指定設置投影參數(shù) gluOrtho2D(0.0,200.0,0.0,150.0); /設置投影參數(shù)void Display(void) glClear(GL_COLOR_BUFFER_BIT); /用當前背景顏色填充窗口 glColor3f(1.0f,0.0f,0.0f); /設置當前的繪圖顏色為紅色 / glRectf(50.0f,100.0f,150.0f,50.0f); /繪制一個矩形 glBegin(GL_TRIANGLES); /等邊三角形 glVertex2f(0.0,0.0); glVertex2f(15,25.95); glVertex2f(30,0); glEnd(); glFlush(); /清空OpenGL命令緩沖區(qū),執(zhí)行OpenGL程序int main(int argc,char*argv) glutInit(&argc,argv); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); /初始化窗口的顯示模式 glutInitWindowSize(400,300); /設置窗口的尺寸 glutInitWindowPosition(100,120); /設置窗口位置 glutCreateWindow(矩形); /創(chuàng)建一個名為矩形的窗口 glutDisplayFunc(Display); /設置當前窗口的顯示回調函數(shù) Initial(); /完成窗口初始化 glutMainLoop(); /完成窗口GLUT事件處理循環(huán) return 0;運行結果:實驗二 直線繪制實驗1. 實驗目的為了進一步熟悉OpenGL編程,了解基本圖形生成算法中的直線繪制,學會直線繪制算法中最常用的三種算法:數(shù)值微分法、中點畫線算法和Bresenham算法。2. 實驗內容(一)數(shù)值微分法數(shù)值微分法直接從直線的微分方程生成直線。給定直線的兩端點:P0(X0,Y0)和P1(X1,Y1),得到直線的微分方程dy/dx=y/x=(Y1-Y0)/(X1-X0)=k。數(shù)值微分算法的原理是,由于直線的一階導數(shù)是連續(xù)的,而且x和y是成比例的,因此通過在當前位置(Xi,Yi)分別加上兩個小增量x和y(為無窮小的正數(shù))來求下一點(X(i+1),Y(i+1))的x,y坐標。(二)中點畫線算法給定直線的兩端點:P0(X0,Y0)和P1(X1,Y1),可得到直線方程F(x,y)=y-kx-b=0且k=y/x=(Y1-Y0)/(X1-X0)。繪圖過程如下:.輸入直線的兩端點P0(X0,Y0)和P1(X1,Y1)。.計算初始值x, y,d=x-2y,x=X0,y=Y0.繪制點(x,y)。判斷d的符號,若d0,則(x,y)更新為(x+1,y+1),同樣將e更新為e-2x;否則(x,y)更新為(x+1,y)。.當直線沒有畫完時,重復步驟和;否則結束。3. 實驗代碼及結果3.1數(shù)值微分算法編程繪制直線代碼: #include#includevoid Initial(void) glClearColor(1.0f,1.0f,1.0f,1.0f); /設置窗口背景顏色為白色 glMatrixMode(GL_PROJECTION); /指定設置投影參數(shù) gluOrtho2D(0.0,200.0,0.0,150.0); /設置投影參數(shù)void Display(void) glClear(GL_COLOR_BUFFER_BIT); /用當前背景顏色填充窗口 glColor3f(1.0f,0.0f,0.0f); /設置當前的繪圖顏色為紅色glBegin(GL_LINES); int x0=10;int y0=20;int x1=30;int y1=40;int color=10; int dx,dy,epsl,k; float x,y,xIncre,yIncre; dx=x1-x0; dy=y1-y0; x=x0; y=y0; / if(abs(dx)abs(dy) epsl=abs(dx); else epsl=abs(dy); xIncre=(float)dx/(float)epsl; yIncre=(float)dy/(float)epsl; for(k=0;k=epsl;k+) glVertex2i(int(x+0.5),(int)(y+0.5);x+=xIncre;y+=yIncre; glEnd(); glFlush(); /清空OpenGL命令緩沖區(qū),執(zhí)行OpenGL程序int main(int argc,char*argv) glutInit(&argc,argv); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); /初始化窗口的顯示模式 glutInitWindowSize(400,300); /設置窗口的尺寸 glutInitWindowPosition(100,120); /設置窗口位置 glutCreateWindow(矩形); /創(chuàng)建一個名為矩形的窗口 glutDisplayFunc(Display); /設置當前窗口的顯示回調函數(shù) Initial(); /完成窗口初始化 glutMainLoop(); /完成窗口GLUT事件處理循環(huán) return 0;實驗結果:2.2中點畫線算法編程繪制直線代碼:#include#includevoid Initial(void) glClearColor(1.0f,1.0f,1.0f,1.0f); /設置窗口背景顏色為白色 glMatrixMode(GL_PROJECTION); /指定設置投影參數(shù) gluOrtho2D(0.0,200.0,0.0,150.0); /設置投影參數(shù)void Display(void) glClear(GL_COLOR_BUFFER_BIT); /用當前背景顏色填充窗口 glColor3f(1.0f,0.0f,0.0f); /設置當前的繪圖顏色為紅色glBegin(GL_POINTS); int x0=50;int y0=20;int x1=100;int y1=120;int color=10; int dx,dy,d,UpIncre,DownIncre,x,y; if(x0x1) x=x1;x1=x0;x0=x;y=y1;y1=y0;y0=y; x=x0;y=y0; dx=x1-x0;dy=y1-y0; d=dx-2*dy; UpIncre=2*dx-2*dy; DownIncre=2*dy; while(x=x1) glVertex2i(x,y); x+; if(d0) y+; d+=UpIncre; else d+=DownIncre; glEnd(); glFlush(); /清空OpenGL命令緩沖區(qū),執(zhí)行OpenGL程序int main(int argc,char*argv) glutInit(&argc,argv); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); /初始化窗口的顯示模式 glutInitWindowSize(400,300); /設置窗口的尺寸 glutInitWindowPosition(100,120); /設置窗口位置 glutCreateWindow(矩形); /創(chuàng)建一個名為矩形的窗口 glutDisplayFunc(Display); /設置當前窗口的顯示回調函數(shù) Initial(); /完成窗口初始化 glutMainLoop(); /完成窗口GLUT事件處理循環(huán) return 0;實驗結果:2.3Bresenham算法編程繪制直線代碼:#include #include void Initial(void)glClearColor(1.0f,1.0f,1.0f,1.0f); /設置窗口背景顏色為白色glMatrixMode(GL_PROJECTION);/指定設置投影參數(shù)gluOrtho2D(0.0,200.0,0.0,150.0);/設置投影參數(shù)void Display(void)glClear(GL_COLOR_BUFFER_BIT);/用當前背景色填充窗口glColor3f(1.0f,0.0f,0.0f);/設置當前的繪圖顏色為紅色/Bresenham算法glBegin(GL_POINTS);int x0 = 10;int y0 = 20;int x1 = 90;int y1 = 90;int color=10;int x,y,dx,dy,e;dx = x1-x0;dy = y1-y0;e=-dx;x=x0;y=y0;while(x0)y+;e=e-2*dx;glEnd();glFlush();/清空OpenGL命令緩沖區(qū),執(zhí)行OpenGL程序int main(int argc,char*argv)glutInit(&argc,argv);glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);/初始化窗口的現(xiàn)實模式glutInitWindowSize(400,300);/設置窗口的尺寸glutInitWindowPosition(100,200);/設置窗口的位置glutCreateWindow(點);/創(chuàng)建一個名為矩形的窗口glutDisplayFunc(Display);/設置當前窗口的顯示函數(shù)Initial();/完成窗口的初始化glutMainLoop();/啟動主GLUT事件處理循環(huán)return 0;實驗結果:實驗三 圓繪制實驗1. 實驗目的2. 實驗內容(一) 八分法畫圓圓心位于原點的圓有4條對稱軸x=0,y=0,y=x,y=-x。若已知圓上任一點(x,y),可以得到其在圓周上關于四條對稱軸的另外7個點(y,x),(-x,y),(-x,-y),(-y,-x),(y,-x),(x,-y)。(二) 中點Bresenham畫圓算法算法步驟如下:輸入圓的半徑R計算初始值d=1-R,x=0,y=R。繪制點(x,y)及其在八分圓中的另外7個對稱點。判斷d的符號。若d0,則先將d更新為d+2x+3,再將(x,y)更新為(x+1,y);否則先將d更新為d+2(x-y)+5,再將(x,y)更新為(x+1,y-1)。當xy時,重復步驟和;否則結束。(三) 橢圓的中點Bresenham算法算法步驟如下:輸入橢圓的長半軸a和短半軸b。計算初始值d=b2+a2(-b+0.25),x=0,y=b。繪制點(x,y)及其在四分象限上的另外三個對稱點。判斷d的符號。若d=0,則先將d更新為d+b2(2x+3),再將(x,y)更新為(x+1,y);否則先將d更新為d+b2(2x+3)+a2(-2y+2),再將(x,y)更新為(x+1,y-1)。當b2(x+1)a2(y-0.5)時,重復步驟和;否則轉到步驟。用上半部分計算的最后點(x,y)來計算下半部分中d的初值d=b2(x+0.5)2+a2(y-1)2-a2b2繪制點(x,y)及其在四分象限上的另外三個對稱點。判斷d的符號。若d=0時,重復步驟和;否則結束。3. 實驗代碼及結果3.1八分法畫圓程序代碼:#include#includevoid Initial(void) glClearColor(1.0f,1.0f,1.0f,1.0f); /設置窗口背景顏色為白色 glMatrixMode(GL_PROJECTION); /指定設置投影參數(shù) gluOrtho2D(0.0,200.0,0.0,150.0); /設置投影參數(shù)void CirclePoint(int x,int y,int color) glVertex2i(x+50,y+50); glVertex2i(y+50,x+50); glVertex2i(-y+50,x+50); glVertex2i(-x+50,y+50); glVertex2i(-x+50,-y+50); glVertex2i(-y+50,-x+50); glVertex2i(y+50,-x+50); glVertex2i(x+50,-y+50);void Display(void) glClear(GL_COLOR_BUFFER_BIT); /用當前背景顏色填充窗口 glColor3f(1.0f,0.0f,0.0f); /設置當前的繪圖顏色為紅色 glPointSize(10); glBegin(GL_POINTS); CirclePoint(10,20,20); glEnd(); glFlush(); /清空OpenGL命令緩沖區(qū),執(zhí)行OpenGL程序int main(int argc,char*argv) glutInit(&argc,argv); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); /初始化窗口的顯示模式 glutInitWindowSize(400,300); /設置窗口的尺寸 glutInitWindowPosition(100,120); /設置窗口位置 glutCreateWindow(矩形); /創(chuàng)建一個名為矩形的窗口 glutDisplayFunc(Display); /設置當前窗口的顯示回調函數(shù) Initial(); /完成窗口初始化 glutMainLoop(); /完成窗口GLUT事件處理循環(huán) return 0;實驗結果:3.2中點Bresenham 算法繪制圓代碼#include#includevoid Initial(void) glClearColor(1.0f,1.0f,1.0f,1.0f); /設置窗口背景顏色為白色 glMatrixMode(GL_PROJECTION); /指定設置投影參數(shù) gluOrtho2D(0.0,200.0,0.0,150.0); /設置投影參數(shù)void CirclePoint(int x,int y,int color) glVertex2i(x+50,y+50); glVertex2i(y+50,x+50); glVertex2i(-y+50,x+50); glVertex2i(-x+50,y+50); glVertex2i(-x+50,-y+50); glVertex2i(-y+50,-x+50); glVertex2i(y+50,-x+50); glVertex2i(x+50,-y+50);void MidBresenhamCircle(int r,int color) int x,y,d; x=0;y=r;d=1-r; while(x=y) CirclePoint(x,y,color);if(d0)d+=2*x+3;else d+=2*(x-y)+5;y-; x+; void Display(void) glClear(GL_COLOR_BUFFER_BIT); /用當前背景顏色填充窗口 glColor3f(1.0f,0.0f,0.0f); /設置當前的繪圖顏色為紅色 glPointSize(3); glBegin(GL_POINTS); MidBresenhamCircle(20,10); glEnd(); glFlush(); /清空OpenGL命令緩沖區(qū),執(zhí)行OpenGL程序int main(int argc,char*argv) glutInit(&argc,argv); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); /初始化窗口的顯示模式 glutInitWindowSize(400,300); /設置窗口的尺寸 glutInitWindowPosition(100,120); /設置窗口位置 glutCreateWindow(矩形); /創(chuàng)建一個名為矩形的窗口 glutDisplayFunc(Display); /設置當前窗口的顯示回調函數(shù) Initial(); /完成窗口初始化 glutMainLoop(); /完成窗口GLUT事件處理循環(huán) return 0;實驗結果:3.3中點Bresenham 算法繪制橢圓代碼:#include#includevoid Initial(void) glClearColor(1.0f,1.0f,1.0f,1.0f); /設置窗口背景顏色為白色 glMatrixMode(GL_PROJECTION); /指定設置投影參數(shù) gluOrtho2D(0.0,200.0,0.0,150.0); /設置投影參數(shù)void MidBresenhamEllipse(int a,int b,int color) int x,y; float d1,d2; x=0;y=b; d1=b*b+a*a*(-b+0.25); glVertex2i(x+50,y+50); glVertex2i(-x+50,-y+50); glVertex2i(-x+50,y+50); glVertex2i(x+50,-y+50); while(b*b*(x+1)a*a*(y-0.5) if(d10) if(d2=0) d2+=b*b*(2*x+2)+a*a*(-2*y+3); x+;y-;else d2+=a*a*(-2*y+3); y-;glVertex2i(x+50,y+50); glVertex2i(-x+50,-y+50);glVertex2i(-x+50,y+50); glVertex2i(x+50,-y+50); void Display(void) glClear(GL_COLOR_BUFFER_BIT); /用當前背景顏色填充窗口 glColor3f(1.0f,0.0f,0.0f); /設置當前的繪圖顏色為紅色 glPointSize(3); glBegin(GL_POINTS);MidBresenhamEllipse(40,25,10); glEnd(); glFlush(); /清空OpenGL命令緩沖區(qū),執(zhí)行OpenGL程序int main(int argc,char*argv) glutInit(&argc,argv); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); /初始化窗口的顯示模式 glutInitWindowSize(400,300); /設置窗口的尺寸 glutInitWindowPosition(100,120); /設置窗口位置 glutCreateWindow(矩形); /創(chuàng)建一個名為矩形的窗口 glutDisplayFunc(Display); /設置當前窗口的顯示回調函數(shù) Initial(); /完成窗口初始化 glutMainLoop(); /完成窗口GLUT事件處理循環(huán) return 0;實驗結果:實驗四 填充算法實驗1. 實驗目的掌握用掃描線種子填充法,實現(xiàn)掃描線種子填充算法填充任一多邊形區(qū)域的程序2. 實驗內容算法步驟如下:(1)種子像素入棧。(2)執(zhí)行如下三步操作:棧頂像素出棧。填充出棧像素所在掃描線的連續(xù)像素段,從出棧的像素開始沿掃描線向左和向右填充,直到遇到邊界像素為止,即每出棧一個像素,就對包含該像素的整個掃描線區(qū)間進行填充,并且記錄下此時掃描線區(qū)間的x坐標范圍x1,x2。分別檢查上、下兩條掃描線上位于x1,x2坐標區(qū)間內的未被填充的連續(xù)水平像素段,將每個連續(xù)像素段的最左像素取作種子像素壓人棧堆。(3)檢查棧是否為空,若棧非空重復執(zhí)行步驟(2),若棧為非空則結束。3. 實驗代碼及結果代碼:#include gl/glut.h#include math.h#include stdlib.h#include conio.h#include typedef float Color3;struct PointGLint x;GLint y;std:stack stk;void init(void) glClearColor(1.0,1.0,1.0,1.0);/Set display-window color white. glMatrixMode(GL_PROJECTION); gluOrtho2D(0.0,400.0,0.0,400.0);void setPixel(GLint x,GLint y);/種子像素坐標void setPixel(Point cur_point) glBegin(GL_POINTS); glVertex2i(cur_point.x,cur_point.y); glEnd(); glFlush();void getPixel(Point cur_point,Color c) glReadPixels(cur_point.x,cur_point.y,1,1,GL_RGB,GL_FLOAT,c);bool rgbColorEqual(Color c1,Color c2) /c1顏色數(shù)據(jù)與c2顏色數(shù)據(jù),當正負誤差不超過0.0001時,返回值為1,否則為0if(abs(c10-c20)0.001)|(abs(c11-c21)0.001)|(abs(c12-c22)0.001)return 0;else return 1;int FillLineRegion(Point cur_point,Color fillColor,Color borderColor,int direction) int count=0; Color interiorColor; glColor3f(fillColor0,fillColor1,fillColor2); getPixel(cur_point,interiorColor); while(!(rgbColorEqual(interiorColor,borderColor)&!(rgbColorEqual(interiorColor,fillColor) /這個判斷保證讀取的像素的顏色數(shù)據(jù)與邊界顏色還有填充顏色數(shù)據(jù)在數(shù)值上相差較大 /即當正讀取像素不是多邊形邊界,且也沒有被填充,則執(zhí)行以下花括號內的操作 setPixel(cur_point); /setcolot of pixel to fillColor. /為坐標為(x,y)的像素上色if(direction=0)cur_point.x+;elsecur_point.x-;getPixel(cur_point,interiorColor); count+; return count;int IsPixelValid(Point cur_point,Color fillColor,Color borderColor) Color interiorColor;getPixel(cur_point,interiorColor);if(!(rgbColorEqual(interiorColor,borderColor)&!(rgbColorEqual(interiorColor,fillColor)return 1;elsereturn 0;void SearchLineNewSeed(int xLeft,int xRight,int y,Color fillColor,Color borderColor)/在種子像素所在掃描線上一條或下一條是掃描線尋找新種子像素 int xt=xLeft; int seed_left=-1; Point seed_point; Point temp_point; while(xt=xRight) seed_left=-1; temp_point.x=xt; temp_point.y=y; while(xt=xRight) /find the first valid point if(IsPixelValid(temp_point,fillColor,borderColor) seed_left=temp_point.x;break;else xt+;temp_point.x=xt;while(xt=xRight) /find the next invalid point if(IsPixelValid(temp_point,fillColor,borderColor) xt+; temp_point.x=xt;else break;if(seed_left!=-1) seed_point.x=seed_left; seed_point.y=y; stk.push(seed_point); void scanLine(Point cur_point,Color fillColor,Color borderColor) int count=0; int right,left; Point temp_point; while(!stk.empty() Point seed_point=stk.top(); stk.pop(); /種子像素出棧 count=FillLineRegion(seed_point,fillColor,borderColor,0);/填充種子像素所在的掃描線右邊 right=seed_point.x+count-1; temp_point.x=seed_point.x-1; temp_point.y=seed_point.y; count=FillLineRegion(temp_point,fillColor,borderColor,1);/填充種子像素所在掃描線左邊 left=seed_point.x-count; SearchLineNewSeed(left,right,seed_point.y-1,fillColor,borderColor);/在種子像素所在掃描線上方一條掃描線尋找新種子像素 SearchLineNewSeed(left,right,seed_point.y+1,fillColor,borderColor);/在種子像素所在掃描線尋找新種子像素 return;void myDraw(void) glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0,0.0,0.0); glBegin(GL_LINE_LOOP); glVertex2f(20.0f,80.0f); glVertex2f(30.0f,95.0f); glVertex2f(50.0f,95.0f); glVertex2f(60.0f,80.0f); glVertex2f(70.0f,95.0f); glVertex2f(90.0f,95.0f); glVertex2f(100.0f,80.0f); glVertex2f(60.0f,30.0f); glEnd(); /int x=60,y=60;/種子像素坐標為(60,60) struct Point seed_point=65,65; Color fillColor,borderColor; fillColor0=1.0;fillColo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鉆井操作考試試題大全及答案
- 中班健康教案:鞋帶蝴蝶結
- 物業(yè)秩序安全培訓
- 文科理論培訓講解
- 2025年 車險理賠考試卷庫五附答案
- 腫瘤藥學服務案例實踐路徑
- 應急預案教育培訓
- 培訓班月總結報告
- 重癥皮膚護理常規(guī)
- 中醫(yī)護理健康宣教流程
- 社會組織行政執(zhí)法程序解讀及典型案例分析教材
- 2022年中國醫(yī)學科學院放射醫(yī)學研究所高層次人才引進筆試備考題庫及答案解析
- 工程地質學實習報告
- 大班幼兒自主建構游戲:搭雞窩 課件
- 信息檢索智慧樹知到答案章節(jié)測試2023年齊魯工業(yè)大學
- 鋁鎂錳金屬屋面專項施工組織設計
- 攪拌器的型式
- 傳感器原理 磁電式傳感器
- XX印務有限公司采購控制程序
- 2.溝槽開挖(檢驗批)質量驗收記錄表
- GB/T 8433-1998紡織品色牢度試驗耐氯化水色牢度(游泳池水)
評論
0/150
提交評論