《计算机图形学实验》报告
任课教师:钱文华
2016年春季学期
实验:Cohen-Sutherland直线裁剪算法
实验时间:2016年11月3日 实验地点:信息学院2204
实验目的:掌握Cohen-Sutherland
程序代码: #include
int a,b,a1,b1,pp0,pq0,pp1,pq1;
void setPixel(GLint x,GLint y){ }
void init(void){
glClearColor(1.0,1.0,1.0,0.0); glMatrixMode(GL_PROJECTION); glBegin(GL_POINTS); glVertex2i(x,y); glEnd();
直线裁剪算法
}
gluOrtho2D(0.0,200.0,0.0,150.0);
void LineDDA(int x0,int y0,int xEnd,int yEnd){ } //裁剪
int dx = xEnd - x0; int dy = yEnd - y0; int steps,k;
float xIncrement,yIncrement,x = x0,y = y0; if(abs(dx)>abs(dy))
steps = abs(dx);
else
steps = abs(dy);
xIncrement = float(dx)/float(steps); yIncrement = float(dy)/float(steps); for (k = 0;k x+=xIncrement; y+=yIncrement; setPixel(x,y);