Funções para serem usadas no exercício de Lab Hoje glRotatef(GLfloat angulo, GLfloat x, GLfloat y, GLfloat z) glTranslatef(GLfloat x, GLfloat y, GLfloat z); glScalef(GLfloat x, GLfloat y, GLfloat z); Exemplo da Função que Desenha um Triângulo void DesenhaTriangulo() { if (trans) { GLfloat dx = (GLfloat)xfin - (GLfloat)xini; GLfloat dy = (GLfloat)yini - (GLfloat)yfin; GLfloat dz = 0; glTranslatef(dx,dy,0); dx = 0.0; dy = 0.0; trans = 0; } // rotaciona a direita if (rot == 1) { glRotatef(2.0,0.0,0.0,1.0); rot = 0; } Exemplo da Função que Desenha um Triângulo (continua ..) // rotaciona a esquerda if (rot == -1) { glRotatef(-2.0,0.0,0.0,1.0); rot = 0; } // amplia if (amp) { glScalef(amp,amp,1.0); amp = 1.0; } glColor3f(R,G,B); glBegin(GL_TRIANGLE_STRIP); glVertex2f(-50,-50); glVertex2f(50,-50); glVertex2f(0,50); glEnd(); } Exemplo da Função Teclas Especiais // Teclado para Teclas Especiais void TecladoEspecial(int tecla, int x, int y) { switch(tecla) { case GLUT_KEY_F1: printf("\nAo Pressionar F1 essas Instrucoes sempre serao Reapresentadas\n"); printf("\n\n"); printf("Instrucoes\n\n"); printf("Pressione o Botao Esquerdo, Arraste e Solte para Transladar\n\n"); printf("Tecle F2 e F3 para rotacionar\n\n"); printf("Tecle F4 e F5 para escalonar\n\n"); printf("Use o Botão Direito para Acessar o Menu\n\n"); break; case GLUT_KEY_F2: // Rotaciona a Direita //printf("\nRotaciona a Direita\n"); rot = 1; glutPostRedisplay(); //printf("\n%f %f\n",rtd,rte); break; Exemplo da Função Teclas Especiais case GLUT_KEY_F3: // Rotaciona a Esquerda //printf("\nRotaciona a Esquerda\n"); rot = -1; glutPostRedisplay(); break; case GLUT_KEY_F4: // Amplia //printf("\nAmplia\n"); amp = 1.1; glutPostRedisplay(); break; case GLUT_KEY_F5: // Reduz //printf("\nReduzir\n"); amp = 0.9; glutPostRedisplay(); break; case GLUT_KEY_INSERT: printf("\nPressionada a Tecla INSERT\n"); break; case GLUT_KEY_HOME: printf("\nPressionada a Tecla HOME\n"); break; } } Exercícios com Pontuação 1- [Nível Básico]: Usando como base o exercício da Aula 2, Faça um programa para transladar as primitivas utilizando o mouse. 2- [Nível Básico]: Usando como base o mesmo programa da Aula 2, faça um programa para rotacionar as primitivas utilizando o mouse. 3- [Nível Básico]: Usando como base, o mesmo programa da Aula 2, faça um programa para escalonar as primitivas utilizando o mouse. 4- [Nível Médio]: Usando as funcionalidades dos exercícios 1, 2 e 3, crie interações com o mouse que permitam acrescentar polígonos complexos, através da inserção de vértices com o clic do mouse.