Sección de Computación

Departamento de Ingeniería Eléctrica

CINVESTAV

Curso: Graficación
Periodo:  Agosto-Diciembre 2003
Prof: Dr. Luis Gerardo de la Fraga

Este es el contenido del curso:  graficacion.html



Código fuente de programas vistos en clase:

18/11/2003 Los ejemplos de gráficas de curvas cúbicas paramétricas hechas con gnuplot: CurvasCubicas.tar.gz
11/11/2003 El programa que muestra un cilindro con visualizaciones en coordenadas cartesianas
                    y coordenadas esféricas: Cylinder.tar.gz
31/10/2003 Los apuntes sobre los algoritmos para detectar la superficie visible: sup_visible.pdf
21/10/2003 El programa visto en clase para mostrar las distintas proyecciones: CuboProyeccion.tar.gz
17/10/2003 El programa para realizar un cubo con OpenGL (y resuelve el problema
                    de rotar el cubo en su diagonal principal): 3DCube.tar.gz
26/09/2003 El programa básico para trabajar con un objeto de OpenGL en Qt: Gl-Qt.tar.gz
26/09/2003 El código visto en clase para realizar el cortado (clipping): clipping.txt
29/08/2003 El programa para probar el código del trazo de la línea:   linetest.tar.gz
26/08/2003 El programa básico para trabajar con Qt:  canvas.tar.gz


Proyectos de fin de curso:
  1. Implantar el algoritmo para rellenado de polígonos
  2. Dibujo de elipses por medio de un algoritmo incremental


Tareas

Tarea 8: Fecha de entrega 09/12/2003
Movimiento de un robot con restricciones

A cada segmento del robot le podemos asignar restricciones del tipo
    (theta_min, theta_max, phi_min, phi_max)
para los ángulos en coordenadas esféricas para cada segmento.
Restriccion en el movimiento del robot

En esta figura se visualiza la restricción en el ángulo phi para el primer
segmento del robot

Para la primera parte de esta tarea hay que realizar lo siguiente:
  1. Poner el robot en una posición inicial
  2. Hacer la interfaz necesaria para señalar a donde queremos mover el "ojo" del robot y
    animarlo para que se mueva a ese punto.
  3. Si se señala un nuevo punto, el regresa al punto 1.
La segunda parte de la tarea, cambian el algoritmo a:
  1. Poner el robot en una posición inicial
  2. Hacer la interfaz necesaria para señalar a donde queremos mover el "ojo" del robot y
    animarlo para que se mueva a ese punto.
  3. Si se señala un nuevo punto, el robot debe moverse a ese nuevo punto con la restricción de que la
    distancia que debe moverse es mínima.

Aqui está un codigo de muestra con un robot de dos segmentos y en dos dimensiones: Robot.tar.gz
 


Tarea 7: Fecha de entrega 14/11/2003
Control de movimiento de un robot

 Con el código fuente para construir un cilindro: Cylinder.tar.gz, hay que construir un
robot con tres (3), o más, grados de libertad y los botones necesarios para mover cada parte de él.
El documento que explica como se construye en cono está aquí: cylinder.pdf

Tarea 6: Fecha de entrega 31/10/2003
Composición de transformaciones

De la siguiente figura:

Pantalla del problema a resolver

- Moviendo el ratón sobre el eje x, debe moverse el rehilete de la izquierda en el sentido A
- Moviendo el ratón sobre el eje y, debe moverse el rehilete de la derecha en el sentido B
- Con algún botón, sí se presiona, se mueve toda la escena en el sentido C (rotando el eje x)

Tarea 5: Fecha de entrega 24/10/2003
Transformaciones en 3D
Con la misma figura de la tarea 4, pero ahora extendiéndola a tres dimensiones

Tarea 4: Fecha de entrega 06/10/2003
 Transformaciones 2D
Con la figura dada en clase realizar una interfaz gráfica para demostrar las transformaciones
bidimensionales usando las primitivas de OpenGL
El manual de OpenGL puede checarse aquí: opengl1.2.1.pdf

Tarea 3: Fecha de entrega 26/09/2003
Checar como rellena polígonos el programa Xfig. Usar un borde grueso (8 o más)
¿Cómo dibuja el polígono sin el borde? ¿Y con el borde?
Checar como dibuja Xfig las esquinas de una polilínea (usar líneas gruesas).

Tarea 2: Fecha de entrega 16/09/2003
Programar las principales primitivas de LOGO en el programa básico de Qt
Realizar una composición (un dibujo con varias figuras geométricas) donde se pruebe el funcionamiento de las primitivas de LOGO
Investigar código de fractales realizados con LOGO
Realizar tres composiciones de fractales programándolos dentro de la programa básico de Qt

-- Para capturar la imagen de una ventana hay que ejecutar los comandos siguientes:
$ xwd -xy -out imagen.xwd
$ convert -colors 256 imagen.xwd imagen1.tif
$ convert -compress Zip imagen1.tif imagen1.png

y la imagen "imagen1.png" es la que se pone en la página WEB.

Tarea 1: Fecha de entrega 02/09/2003
Investigar qué es LOGO
Las principales primitivas de LOGO.
El código en LOGO de una función para trazar un polígono de n lados de tamaño l
 
Comentarios: fraga@cs.cinvestav.mx