Lineas y rellenado de poligonos version 1

Ya me canse de hacer cosas web, así que mejor publico mi código para generar polígonos mediante lineas por Bresseham y para rellenarlos por medio de barrido horizontal :P
Esta primera versión del código tiene un pequeño error en el algoritmo de rellenado, es el típico problema de los vértices de la figura, en la medida de mi tiempo lo corregire, pero mientras aquí les dejo el código. Esta implementado usando Allegro (si, muy vieja, pero útil para esto) y programado en C. Click en el nombre del proyecto para visualizar codigo en pdf:

Proyecto: Poligono |Yesica Hernandez |Computacion Grafica

DIBUJADO DE POLIGONOS CON IMPLEMENTACION DEL ALGORTIMO DE BRESENHAM PARA UNIR LOS NODOS DEL MISMO PROTOTIPO DE ALGORITMO DE RELLENADO Y FUNCIONES DE DETECCION DE INTERSECCIONES CON LINEAS
DESCRIPCION DEL PROGRAMA
EL USUARIO PUEDE GENERAR POLIGONOS DE CUALQUIER NUMERO DE LADOS CON DAR CLICK CON EL BOTON IZQUIERDO DEL MOUSE, Y LOS PUNTOS SE IRAN UNIENDO EN LA SECUENCIA EN QUE SEAN CREADOS. PARA INDICAR QUE SE HA TERMINADO DE DEFINIR EL POLIGONO DE HACE CLICK CON EL BOTON DERECHO, LO QUE ACTIVA EL PROCESO DE PINTADO MEDIANTE EL PROTOTIPO DE ALGORTIMO POR BARRIDO

Y bueno, que es un codigo tan largo sin screenshots de su ejecucion:




5 comentarios:

  1. Wow jeje no pense que buscando una guia para mi tarea de Computacion Grafica, cayera yo en tu blog XD muy bonito por cierto, espero te acuerdes de mi =) Saludos!!!!

    ResponderEliminar
  2. A proposito por la naturaleza de tus programas me imagino que llevaste con el profe Noe de Jesus Romero en tu clase de Computacion Grafica o me equivoco?

    ResponderEliminar
  3. No no te equivocas, asi fue. Espero que te haya sido util el codigo, Saludos!

    ResponderEliminar
  4. D:\relleno\relleno.c In function `relleno':
    100 D:\relleno\relleno.c syntax error at end of input
    D:\relleno\Makefile.win [Build Error] [relleno.o] Error 1

    Me salió eso ¿porque?

    ResponderEliminar
  5. sube el proyecto como zip, andale, no seas mala...

    ResponderEliminar