平移
先绘制一个三角形,设置平移量tx和ty,再画平移后的三角形,三个点的坐标分别加上tx和ty。
#include <glut.h>
#include<math.h>
//平移
void myTransform() {
int x1 = 10, y1 = 20, x2 = 60, y2 = 70, x3 = 50, y3 = 100;
glColor3f(0.8,0.1,0.5);
glBegin(GL_TRIANGLES);
glVertex2i(x1, y1);
glVertex2i(x2, y2);
glVertex2i(x3, y3);
glEnd();
int tx = 30, ty = -50;//偏移量
glColor3f(0.2, 0.6, 0.6);
glBegin(GL_TRIANGLES);
glVertex2i(x1+tx, y1+ty);
glVertex2i(x2+tx, y2+ty);
glVertex2i(x3+tx, y3+ty);
glEnd();
}
//绘制函数
void myDisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
myTransform();
glFlush();
}
void init()
{
glClearColor(1.0, 1.0, 1.0, 0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-200, 200, -200, 200);
}
void main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); //设置显示模式
glutInitWindowSize(600, 500); //设置窗口大小
glutInitWindow