资源描述:
《计算机图形学-二维图形的变换》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机图形学实验--二维图形的变换算法学院:计算机科学与技术学院专业:软件工程班级:软工152班学号:1500170408学生姓名:刘强坤指导老师:张健学院:计算机科学与技术学院专业:软件工程班级:软工152班姓名刘强坤学号1500170408实验组实验时间2017.11.5指导教师张健成绩实验项目名称二维图形的变换实验要求绕容易参照点旋转、缩放等实验目的实验环境VisualStudio2015实验内容实验核心代码:#include#include#includevoidinit(vo
2、id){glClearColor(0.0,0.0,0.0,0.0);glShadeModel(GL_SMOOTH);}voiddraw_triangle(void){glShadeModel(GL_SMOOTH);glColor3f(0.7,1.0,0.50);glBegin(GL_TRIANGLES);//画出三角形,为混合色填充方式glVertex2f(150.0,75.0);glColor3f(0.6,0.5,0.20);glVertex2f(100.0,25.0);glColor3f(0.4,0.5,0.6);glVertex2f(100.0,2
3、00.0);glEnd();}voiddisplay(void){glClear(GL_COLOR_BUFFER_BIT);glColor3f(2.0,2.0,2.0);glLoadIdentity();glColor3f(1.0,1.0,1.0);glTranslatef(-100.0,-50.0,1.0);draw_triangle();glLoadIdentity();glTranslatef(0.0,100.0,1.0);glRotatef(90.0,0.0,0.0,1.0);glScalef(0.5,0.5,1.0);draw_triangle
4、();//经过三种变换后画出图形glFlush();}voidreshape(intw,inth){glViewport(0,0,(GLsizei)w,(GLsizei)h);glMatrixMode(GL_PROJECTION);glLoadIdentity();if(w<=h)gluOrtho2D(-200.0,250.0,-100.0*(GLfloat)h/(GLfloat)w,200.0*(GLfloat)h/(GLfloat)w);//调整裁剪窗口elsegluOrtho2D(-200.0*(GLfloat)w/(GLfloat)h,250.0
5、*(GLfloat)w/(GLfloat)h,-50.0,200.0);glMatrixMode(GL_MODELVIEW);}intmain(intargc,char**argv){glutInit(&argc,argv);glutInitDisplayMode(GLUT_SINGLE
6、GLUT_RGB);glutInitWindowSize(600,600);glutInitWindowPosition(100,100);glutCreateWindow(argv[0]);init();glutDisplayFunc(display);glutRes
7、hapeFunc(reshape);glutMainLoop();return0;}实验结果实验总结签名:刘强坤2017年11月05日