资源描述
计算机图形学实验-二维图形的变换算法 学 院:计算机科学与技术学院专 业:软件工程 班 级:软工152班学 号:1500170408学生姓名:刘强坤 指导老师:张健学院:计算机科学与技术学院 专业: 软件工程 班级: 软工152班姓名刘强坤学号1500170408实验组实验时间2017.11.5指导教师张健成绩实验项目名称二维图形的变换实验要求绕容易参照点旋转、缩放等实验目的实验环境Visual Studio 2015实验内容实验核心代码:#include#include #include void init(void)glClearColor(0.0, 0.0, 0.0, 0.0);glShadeModel(GL_SMOOTH);void draw_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, 200.0);glEnd();void display(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();/经过三种变换后画出图形glFlush();void reshape(int w, int h)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*(GLfloat)w / (GLfloat)h, -50.0, 200.0);glMatrixMode(GL_MODELVIEW);int main(int argc, char* argv)glutInit(&argc, argv);glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);glutInitWindowSize(600, 600);glutInitWindowPosition(100, 100);glutCreateWindow(argv0);init();glutDisplayFunc(display);glutReshapeFunc(reshape);glutMainLoop();return 0;实验结果实验总结签名:刘强坤 2017 年11月 05日
展开阅读全文