试验二计算机图形学中点画线法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

中点画线法#includewindows.h#includestdio.h#includeGL/gl.h#includeGL/glu.h#includeGL/glaux.h//opengl32.libglu32.libglaux.libintx1,y1,x2,y2;voidInitGL(void){auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);auxInitPosition(0,0,640,480);auxInitWindow(FirstAuxOpenGLDemo);glClearColor(0.6,0.6,0.6,0.0);glClear(GL_COLOR_BUFFER_BIT);}voidMidpointLine(intx1,inty1,intx2,inty2){inti,x,y;floatdx,dy,d,k;dx=x2-x1;dy=y2-y1;k=dy/dx;if(k=1){d=0.5-k;x=x1;y=y1;glVertex2i(x1,y1);for(i=1;i=dx;i++){glBegin(GL_POINTS);glVertex2i(x,y);x++;if(d0){y++;d=d+1-k;}elsed=d-k;Sleep(10);glEnd();//结束绘制glFlush();//进行刷新}}if(k1){d=1-0.5*k;x=x1;y=y1;glVertex2i(x1,y1);for(i=1;i=dy;i++){glBegin(GL_POINTS);glVertex2i(x,y);y++;if(d0){x++;d=d+1;}elsed=d-k+1;Sleep(10);glEnd();//结束绘制glFlush();//进行刷新}}}voidCALLBACKDraw(void){//glBegin(GL_POINTS);MidpointLine(x1,y1,x2,y2);//glEnd();//结束绘制//glFlush();//进行刷新}voidmain(void){printf(pleaseinputthestartpoint(x1,y1):);scanf(%d,%d,&x1,&y1);printf(pleaseinputthestartpoint(x2,y2):);scanf(%d,%d,&x2,&y2);InitGL();//初始化auxMainLoop(Draw);//进行绘制}

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功