《试验二计算机图形学中点画线法》由会员分享,可在线阅读,更多相关《试验二计算机图形学中点画线法(3页珍藏版)》请在人人文库网上搜索。
1、中点画线法#include #include #include #include #include /opengl32.lib glu32.lib glaux.lib int x1,y1,x2,y2;void InitGL(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);void MidpointLin。
2、e(int x1,int y1,int x2,int y2)int i,x,y;float dx, dy, d, k;dx = x2-x1; dy = y2-y1; k=dy/dx;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;else d=d-k+1;Sleep(10);glEnd();/ 结束绘制glFlush();/ 进行刷新void CALLBACK Draw(void)/glBegin(GL_POINTS);MidpointLine(x1,y1,x2,y2);/glEnd();/ 结束绘制/glFlush();/ 进行刷新void main(void)printf(please input the start point(x1,y1):);scanf(%d,%d,&x1,&y1);printf(please input the start point(x2,y2):);scanf(%d,%d,&x2,&y2);InitGL();/ 初始化auxMainLoop(Draw);/ 进行绘制。