计算机图形学图形变换代码

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


#include "stdafx.h"
#include
#include

void myinit(void) {
glClearColor(1.0,1.0,1.0,1.0);
}

void DrawTriangle(void) {
glBegin(GL_QUADS);
glVertex2f(20.0,20.0);
glVertex2f(80.0,30.0);
glVertex2f(50.0,70.0);
glVertex2f(30.0,60.0);

glEnd();
}

void display(void) {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,0.0,1.0);

glPolygonMode(GL_FRONT,GL_LINE);
DrawTriangle();

glPushMatrix();
glEnable(GL_LINE_STIPPLE);
glLineStipple(1,0xF0F0);
glTranslatef(80.0,0.0,0.0);
DrawTriangle();
glPopMatrix();

glPushMatrix();
glLineStipple(1,0x8888);
glTranslatef(20.0,80.0,0.0);
glScalef(0.5,1.5,1.0);
DrawTriangle();
glPopMatrix();

glPushMatrix();
glLineStipple(1,0xF00F);
glTranslatef(110.0,90.0,0.0);
glRotatef(30.0,0.0,0.0,1.0);
DrawTriangle();
glPopMatrix();
glFlush();
}

void myreshape(int w,int h) {
glViewport(0,0,(GLsizei)w,(GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0,(GLdouble)w,0.0,(GLdouble)h);
}

int main(int argc, char* argv[])
{glutInit(&argc,argv);
glutInitWindowSize(200,200);
glutInitWindowPosition(200,200);
glutCreateWindow("Transform");
myinit();
glutDisplayFunc(display);
glutReshapeFunc(myreshape);
glutMainLoop();
return 0;
}

相关文档
最新文档