Práctica 4 U2

También podría gustarte

Está en la página 1de 4

PRCTICAS DE LABORATORIO

CARRERA

PLAN DE ESTUDIO

CLAVE DE ASIGNATURA

PRACTICA No.

NOMBRE DE LA PRCTICA

ISC
NOMBRE DE LA
ASIGNATURA

SCC-1010

Graficacin

4
Unidad 2
2 COMPETENCIA A DESARROLLAR
Desarrollar programas basados en grficos 2D
3 INTRODUCCIN.

Transformaciones.
Traslacin y rotacin

Hasta ahora, hemos visto cmo podemos describir una escena en trminos de
primitivas grficas, tales como una lnea de segmentos y reas completas, y los
atributos asociados a dichas primitivas. Ahora se analizarn las operaciones de
transformacin que se pueden aplicar a objetos para recolocarlos o darles un
tamao diferente. Estas operaciones tambin son usadas en la visualizacin de
rutinas que convierten una descripcin de una escena de coordenadas universales
en un despliegue para un dispositivo de salida. Adems, son usados en variedad
de otras aplicaciones, tales como diseo de ayuda y animacin por computadora.
Un arquitecto, por ejemplo, crea un esquema/plano ordenando la orientacin y el
tamao de las partes que componen el diseo, y un animador por computadora
desarrolla una secuencia de video moviendo la posicin de la cmara o los
objetos en la escena a los largo de caminos especficos. Las operaciones que se
aplican a descripciones geomtricas de un objeto para cambiar su posicin,
orientacin o tamao se llaman transformaciones geomtricas.
A veces las operaciones sobre transformaciones geomtricas tambin se llaman
transformaciones de modelado, pero algunos paquetes grficos hacen distincin
entre los dos trminos. En general, las transformaciones de modelado se usan
para construir una escena o para dar una descripcin jerrquica de un objeto
complejo que est compuesto por distintas partes, las cuales a su vez pueden
estar compuestas por partes ms simples y as sucesivamente. Como ejemplo, un
avin se compone de alas, cola, fuselaje, motor y otros componentes, cada uno de
los cuales puede ser especificado en trminos de componentes de segundo nivel,
y as sucesivamente, bajando en la jerarqua de partes de los componentes. De
este modo, el avin puede ser descrito en trminos de dichos componentes y una
transformacin de modelo asociado para cada uno que describe cmo ese
componente va a encajar dentro del diseo total del avin.
Las transformaciones geomtricas, por otro lado, pueden usarse para describir
cmo los objetos deben moverse a lo largo de una escena durante una secuencia
de animacin o simplemente, para verlos desde otro ngulo. Por tanto, algunos
paquetes grficos ofrecen dos juegos de rutinas de transformacin, mientras otros
paquetes tienen un nico juego de funciones que pueden ser usadas tanto por
transformaciones geomtricas como por transformaciones de modelado.

MATERIALES Y EQUIPO
Computadora
SO Ubuntu
Internet
Libreras de OpenGL
Bibliografa
PROCEDIMIENTOS (DESCRIPCIN)
1. Encender la computadora
2. Iniciar sesin con el sistema operativo Ubuntu
3. Entrar a la terminal

4. Desarrollar el programa solicitado


5. Compilar el programa
6. Ejecutar programa
7. Probar el programa

8. Realizar el reporte de la prctica


6

SUGERENCIAS DIDCTICAS

Promover el uso de software libre


Propiciar el uso de las nuevas aplicaciones tecnolgicas, en el desarrollo de los
contenidos de la asignatura.
Crear equipos de trabajo para la homogeneidad del conocimiento
Desarrollar actividades de aprendizaje que propicien la aplicacin de los
conceptos, modelos y metodologas que se van aprendiendo en el desarrollo de
la asignatura.
Proponer problemas que permitan al estudiante integrar y relacionar los
contenidos de esta asignatura con otras, para su anlisis y solucin.
Utilizar el aprendizaje basado en problemas, trabajando en grupos pequeos,para

sintetizar y construir conocimientos necesarios para proponer soluciones.

DETALLE DEL PROCEDIMIENTO


1. Realizar un programa en el que se apliquen las diferentes funciones
para transformar objetos en 2D como: traslacin, rotacin y
escalamiento. Dibujar un cuadrado y un tringulo y aplicar las
funciones para traslacin y rotacin
2. Editar el siguiente cdigo, en un programa en C con OpenGL:

include <GL/glut.h>
void initGL() {
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
}
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_QUADS);
glColor3f(1.0f, 0.0f, 0.0f); // Rojo
glVertex2f(-0.8f, 0.1f);
glVertex2f(-0.2f, 0.1f);
glVertex2f(-0.2f, 0.7f);
glVertex2f(-0.8f, 0.7f);
glColor3f(0.0f, 1.0f, 0.0f); // Verde
glVertex2f(-0.7f, -0.6f);
glVertex2f(-0.1f, -0.6f);
glVertex2f(-0.1f, 0.0f);
glVertex2f(-0.7f, 0.0f);
glColor3f(0.2f, 0.2f, 0.2f);
glVertex2f(-0.9f, -0.7f);
glColor3f(1.0f, 1.0f, 1.0f);
glVertex2f(-0.5f, -0.7f);
glColor3f(0.2f, 0.2f, 0.2f);
glVertex2f(-0.5f, -0.3f);
glColor3f(1.0f, 1.0f, 1.0f);
glVertex2f(-0.9f, -0.3f);
glEnd();
glBegin(GL_TRIANGLES);

// gris oscuro
// blanco
// gris oscuro
// blanco

glColor3f(0.0f, 0.0f, 1.0f); // azul


glVertex2f(0.1f, -0.6f);
glVertex2f(0.7f, -0.6f);
glVertex2f(0.4f, -0.1f);
glColor3f(1.0f, 0.0f, 0.0f); // rojo
glVertex2f(0.3f, -0.4f);
glColor3f(0.0f, 1.0f, 0.0f); // verde
glVertex2f(0.9f, -0.4f);
glColor3f(0.0f, 0.0f, 1.0f); // azul
glVertex2f(0.6f, -0.9f);
glEnd();
glBegin(GL_POLYGON);
glColor3f(1.0f, 1.0f, 0.0f); // amarillo
glVertex2f(0.4f, 0.2f);
glVertex2f(0.6f, 0.2f);
glVertex2f(0.7f, 0.4f);
glVertex2f(0.6f, 0.6f);
glVertex2f(0.4f, 0.6f);
glVertex2f(0.3f, 0.4f);
glEnd();
glFlush();
}
void reshape(GLsizei width, GLsizei height) {
if (height == 0) height = 1;
GLfloat aspect = (GLfloat)width / (GLfloat)height;
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if (width >= height) {
gluOrtho2D(-1.0 * aspect, 1.0 * aspect, -1.0, 1.0);
} else {
gluOrtho2D(-1.0, 1.0, -1.0 / aspect, 1.0 / aspect);
}
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitWindowSize(640, 480);
glutInitWindowPosition(50, 50);
glutCreateWindow("Viewport Transform");
glutDisplayFunc(display);
glutReshapeFunc(reshape);
initGL();
glutMainLoop();
return 0;
}

3. Compilar y ejecutar

También podría gustarte