Laboratorio de Computación Gráfica

jueves, septiembre 28, 2006

Cuestionario previo #3 - Grupo B - para el 3 de octubre de 2006

Universidad Nacional Autónoma de México
Facultad de Ingeniería
Departamento de Computación

Laboratorio de Computación Gráfica

http://lab-computacion-grafica.blogspot.com/

Cuestionario previo #3 Grupo A
Práctica del 03 de octubre de 2006
- Interacción con GLUT -

Profr. Ing. Santiago Igor Valiente Gómez

1. Describa el uso y los parámetros de los comandos: glutDisplayFunc(), glutOverlayDisplayFunc(), glutReshapeFunc(), glutKeyboardFunc(), glutMouseFunc(), glutMotionFunc(), glutPassiveMotionFunc(), glutVisibilityFunc(), glutEntryFunc(), glutSpecialFunc(), glutSpaceballMotionFunc(), glutSpaceballRotateFunc(), glutSpaceballButtonFunc(), glutButtonBoxFunc(), glutDialsFunc(), glutTabletMotionFunc(), glutTabletButtonFunc(), glutMenuStatusFunc(), glutIdleFunc(), glutTimerFunc()

2. Escriba un programa que detecte que se oprimen las teclas ‘A’, ‘B’, ‘C’ y ESC, del teclado y que imprima en salida estándar la impresión. Que detecte que se oprimieron los botones izquierdo, central y derecho del mouse, imprima en salida estándar el botón presionado y las coordenadas del apuntador del mouse. Y por último, que detecte que se presionaron las teclas del cursor: ←, ↑, →, ↓, las teclas de función F1 a F12, las teclas de CONTROL, ALT e imprima en salida estándar cuál se apretó.

3. Investigue el uso de la función glutSwapBuffers()

4. Investigue el uso y parámetros de las funciones: glutCreateWindow(), glutCreateSubWindow(), glutSetWindow(), glutGetWindow(), glutDestroyWindow(), glutPostRedisplay(), glutSwapBuffers(), glutPositionWindow(), glutReshapeWindow(), glutFullScreen(), glutPopWindow(), glutPushWindow(), glutShowWindow(), glutHideWindow(), glutIconifyWindow(), glutSetWindowTitle(), glutSetIconTitle(), glutSetCursor()

5. Escriba un programa que cuando se apriete el botón izquierdo sobre una ventana, proceda a la creación de una nueva ventana y que cuando se presione el botón derecho sobre cualquier ventana creada, la destruya.

6. Investigue el uso y parámetros de las funciones: glutSetMenu(), glutGetMenu(), glutDestroyMenu(), glutAddMenuEntry(), glutAddSubMenu(), glutChangeToMenuEntry(), glutChangeToSubMenu(), glutRemoveMenuItem(), glutAttachMenu(), glutDetachMenu()

7. Escriba un programa cree una ventana. Sobre esta ventana, al presionar el botón derecho del mouse aparecerá un menú que contenga las opciones 1, 2, 3 y 4. Al seleccionar la opción 1, creará una nueva ventana. Al seleccionar la opción 2, aparecerá un submenú con las opciones A y B. Al seleccionar la opción 3, destruya la ventana creada. Al seleccionar la opción 4, sale del programa. Las opciones A y B del submenú imprimen en salida estándar su respectiva etiqueta.

8. Describa el funcionamiento y parámetros de los siguientes comandos: glutBitmapCharacter(), glutBitmapWidth(), glutStrokeCharacter(), glutStrokeWidth()

9. Escriba un programa que abra una ventana con GLUT y que imprima su nombre en caracteres bitmap.
10. Investigue cómo poder cambiar el estilo de la fuente de un texto dibujado con GLUT, así como su tamaño.

Reporte de práctica #3 Grupo A - entrega 10 de octubre de 2006

Universidad Nacional Autónoma de México
Facultad de Ingeniería
Departamento de Computación

Laboratorio de Computación Gráfica

http://lab-computacion-grafica.blogspot.com/

Reporte de práctica #3 Grupo A
Práctica del 26 de septiembre de 2006
- Interacción con GLUT -

Profr. Ing. Santiago Igor Valiente Gómez

1. Escriba un programa que abra dos ventanas con GLUT
La primera ventana mostrará al humanoide articulado
La segunda ventana mostrará una escena con humanoides (3)


2. Al tener el foco en la primera ventana, al presionar el botón derecho del mouse se abre un menú que permite seleccionar la articulación del humanoide que se va a actualizar. Al presionar el botón izquierdo se va a incrementar el valor en la articulación seleccionada en 5 unidades (grados). Al presionar la tecla “r””R” se restituyen los valores iniciales de las articulaciones.


3. Al tener el foco en la primera ventana, presionando la tecla “F5” se cambia el foco a la segunda ventana y se toman los valores de las articulaciones del humanoide de la primera y se pasan a los humanoides de la escena de la segunda.


4. Al presionar la tecla “F10” se destruye la ventana sobre la que se tenga el foco. La tecla “ESC” termina el programa.

Agregue al reporte las actividades de la práctica 3.

viernes, septiembre 22, 2006

Cuestionario previo #3 - Grupo A - para el 26 de septiembre de 2006


Universidad Nacional Autónoma de México
Facultad de Ingeniería
Departamento de Computación
Laboratorio de Computación Gráfica
http://lab-computacion-grafica.blogspot.com/

Cuestionario previo #3 - Grupo A
Práctica del 26 de septiembre de 2006

- Interacción con GLUT -

Profr. Ing. Santiago Igor Valiente Gómez


  1. Describa el uso y los parámetros de los comandos: glutDisplayFunc(), glutOverlayDisplayFunc(), glutReshapeFunc(), glutKeyboardFunc(), glutMouseFunc(), glutMotionFunc(), glutPassiveMotionFunc(), glutVisibilityFunc(), glutEntryFunc(), glutSpecialFunc(), glutSpaceballMotionFunc(), glutSpaceballRotateFunc(), glutSpaceballButtonFunc(), glutButtonBoxFunc(), glutDialsFunc(), glutTabletMotionFunc(), glutTabletButtonFunc(), glutMenuStatusFunc(), glutIdleFunc(), glutTimerFunc()

  2. Escriba un programa que detecte que se oprimen las teclas ‘A’, ‘B’, ‘C’ y ESC, del teclado y que imprima en salida estándar la impresión. Que detecte que se oprimieron los botones izquierdo, central y derecho del mouse, imprima en salida estándar el botón presionado y las coordenadas del apuntador del mouse. Y por último, que detecte que se presionaron las teclas del cursor: ←, ↑, →, ↓, las teclas de función F1 a F12, las teclas de CONTROL, ALT e imprima en salida estándar cuál se apretó.

  3. Investigue el uso de la función glutSwapBuffers()

  4. Investigue el uso y parámetros de las funciones: glutCreateWindow(), glutCreateSubWindow(), glutSetWindow(), glutGetWindow(), glutDestroyWindow(), glutPostRedisplay(), glutSwapBuffers(), glutPositionWindow(), glutReshapeWindow(), glutFullScreen(), glutPopWindow(), glutPushWindow(), glutShowWindow(), glutHideWindow(), glutIconifyWindow(), glutSetWindowTitle(), glutSetIconTitle(), glutSetCursor()

  5. Escriba un programa que cuando se apriete el botón izquierdo sobre una ventana, proceda a la creación de una nueva ventana y que cuando se presione el botón derecho sobre cualquier ventana creada, la destruya.

  6. Investigue el uso y parámetros de las funciones: glutSetMenu(), glutGetMenu(), glutDestroyMenu(), glutAddMenuEntry(), glutAddSubMenu(), glutChangeToMenuEntry(), glutChangeToSubMenu(), glutRemoveMenuItem(), glutAttachMenu(), glutDetachMenu()

  7. Escriba un programa cree una ventana. Sobre esta ventana, al presionar el botón derecho del mouse aparecerá un menú que contenga las opciones 1, 2, 3 y 4. Al seleccionar la opción 1, creará una nueva ventana. Al seleccionar la opción 2, aparecerá un submenú con las opciones A y B. Al seleccionar la opción 3, destruya la ventana creada. Al seleccionar la opción 4, sale del programa. Las opciones A y B del submenú imprimen en salida estándar su respectiva etiqueta.

  8. Describa el funcionamiento y parámetros de los siguientes comandos: glutBitmapCharacter(), glutBitmapWidth(), glutStrokeCharacter(), glutStrokeWidth()

  9. Escriba un programa que abra una ventana con GLUT y que imprima su nombre en caracteres bitmap.




Nota: Recuerde que los programas solicitados deberán hacer uso de los comandos pertinentes de la librería GLUT. Recuerde traer a la práctica el código de sus programas.

Reporte de práctica #2 Grupo A - entrega 26 de septiembre de 2006

Universidad Nacional Autónoma de México
Facultad de Ingeniería
Departamento de Computación

Laboratorio de Computación Gráfica

http://lab-computacion-grafica.blogspot.com/

Reporte de práctica #2 Grupo A
Práctica del 5 de septiembre de 2006
- Modelado Geométrico -

Profr. Ing. Santiago Igor Valiente Gómez

  1. Construya una escena que incluya 2 humanoides, 3 sillas y una “planta” construida a partir de tetraedros.

  2. Construya el humanoide con tetraedros:


  3. Parametrice la función humanoide para que modifique los ángulos en las articulaciones:



Nota: Defina un archivo de cabecera para cada inciso del reporte.

jueves, septiembre 14, 2006

Cuestionario previo #2 - Grupo B - para el 19 de septiembre de 2006

Universidad Nacional Autónoma de México
Facultad de Ingeniería
Departamento de Computación

Laboratorio de Computación Gráfica

http://lab-computacion-grafica.blogspot.com/


Cuestionario previo #2 Grupo B
Práctica del 19 de septiembre de 2006
- Modelado Geométrico -

Profr. Ing. Santiago Igor Valiente Gómez

  1. ¿Qué es una transformación geométrica? ¿Cuáles son las transformaciones básicas y sus matrices?

  2. Escriba los comandos que en OpenGL permiten aplicar transformaciones geométricas, las variantes de dichos comandos y describa sus parámetros.

  3. Describa en OpenGL qué son las matrices GL_MODELVIEW y GL_PROJECTION. ¿Para qué sirven? ¿Cómo se puede intercambiar entre una y otra? ¿Cuál es la matriz activa por defecto? ¿Para que sirve el comando glLoadIdentity()?

  4. ¿Para qué son los comandos glPushMatrix() y glPopMatrix()? Describa su uso a través de un ejemplo en código.

  5. ¿Para qué sirven los comandos glBegin() y glEnd()? Describa su uso, sus parámetros y ejemplifique a través de una pieza de código.

  6. ¿Qué es modelado geométrico? Describa los tipos de modelado geométrico que existen.

  7. A partir del código que elaboró para construir un cubo, modele jerárquicamente el aracnoide de la ilustración y escriba el programa que lo dibuja. Las medidas corren por su cuenta.

  8. ¿Para qué sirven los comandos glClearColor() y glClear()? Descríbalos su funcionamiento, sus parámetros y ejemplifique a través de una pieza de código.

  9. Describa los comandos glutInit(), glutInit(), glutInitDisplayMode (), glutInitWindowSize (), glutInitWindowPosition (), glutCreateWindow (), glutDisplayFunc(), glutReshapeFunc(), glutKeyboardFunc() y glutMainLoop(). Describa su funcionamiento, uso y parámetros.

  10. ¿Qué es un Function Callback en GLUT?


Notas:

  1. Este cuestionario previo debe entregarse por correo electrónico antes de la realización de la práctica en formato PDF. Es requisito para la realización de la práctica traer el código mencionado en el previo, así como el reporte de la práctica #1 (en este caso el reporte de la práctica #1 comprende su cuestionario previo y el archivo ZIP con el proyecto creado).

  2. El formato para nombrar los archivos ZIp que contienen las prácticas es: XXXX#B.zip, donde XXXX son las iniciales del nombre empezando por apellidos, # es el número de la práctica y B es el grupo de laboratorio.

viernes, septiembre 01, 2006

Cuestionario previo #2 - Grupo A - para el 5 de septiembre de 2006


Universidad Nacional Autónoma de México
Facultad de Ingeniería
Departamento de Computación
Laboratorio de Computación Gráfica
http://lab-computacion-grafica.blogspot.com/

Cuestionario previo #2 - Grupo A
Práctica del 5 de septiembre de 2006

- Modelado Geométrico -

Profr. Ing. Santiago Igor Valiente Gómez


  1. ¿Qué es una transformación geométrica? ¿Cuáles son las transformaciones básicas y sus matrices?

  2. Escriba los comandos que en OpenGL permiten aplicar transformaciones geométricas, las variantes de dichos comandos y describa sus parámetros.

  3. Describa en OpenGL qué son las matrices GL_MODELVIEW y GL_PROJECTION. ¿Para qué sirven? ¿Cómo se puede intercambiar entre una y otra? ¿Cuál es la matriz activa por defecto? ¿Para que sirve el comando glLoadIdentity()?

  4. ¿Para qué son los comandos glPushMatrix() y glPopMatriz()? Describa su uso a través de un ejemplo en código.

  5. ¿Para qué sirven los comandos glBegin() y glEnd()? Describa su uso, sus parámetros y ejemplifique a través de una pieza de código.

  6. ¿Qué es modelado geométrico? Describa los tipos de modelado geométrico que existen.

  7. A partir del código que elaboró para construir un cubo, modele jerárquicamente el humanoide de la ilustración y escriba el programa que lo dibuja. Las medidas corren por su cuenta.


  8. ¿Para qué sirven los comandos glClearColor() y glClear()? Descríbalos su funcionamiento, sus parámetros y ejemplifique a través de una pieza de código.

  9. Describa los comandos glutInit(), glutInit(), glutInitDisplayMode (), glutInitWindowSize (), glutInitWindowPosition (), glutCreateWindow (), glutDisplayFunc(), glutReshapeFunc(), glutKeyboardFunc() y glutMainLoop(). Describa su funcionamiento, uso y parámetros.

  10. ¿Qué es un Function Callback en GLUT?

Notas:

  1. Este cuestionario previo debe entregarse por correo electrónico antes de la realización de la práctica en formato PDF. Es requisito para la realización de la práctica traer el código mencionado en el previo, así como el reporte de la práctica #1 (en este caso el reporte de la práctica #1 comprende su cuestionario previo y el archivo ZIP con el proyecto creado).
  2. El formato para nombrar los archivos ZIp que contienen las prácticas es: XXXX#A.zip, donde XXXX son las iniciales del nombre empezando por apellidos, # es el número de la práctica y A es el grupo de laboratorio.

Laboratorio de Computación Gráfica - Semestre 2007-1

Hola, este blog ha sido creado para publicar las prácticas y comentarios acerca y del Laboratorio de Computación Gráfica, asignatura que se imparte en la Facultad de Ingeniería de la UNAM.