Skip to content

britval/GUI-calculo-de-algoritmos

Repository files navigation

Algoritmos

Este proyecto fue desarrollado en equipo para la asignatura "Computación Gráfica y Visual". Su objetivo principal es profundizar en los fundamentos teóricos de los algoritmos de discretización de líneas, círculos y elipses.

Librerias

Para ejecutar este proyecto, es necesario configurar varias variables de entorno, las cuales son:

customtkinter tkinter PIL os

A continuación, se proporcionan los enlaces a los sitios oficiales de las herramientas utilizadas, aunque también se mencionan brevemente en la documentación del código:

Algoritmos Utilizados

  1. Algoritmo DDA (Digital Differential Analyzer) para líneas El algoritmo DDA es uno de los métodos más simples para trazar líneas en gráficos rasterizados (como una pantalla de computadora). Se basa en el cálculo de los incrementos de las coordenadas de píxeles a lo largo de la línea que se quiere dibujar.

  2. Algoritmo de Bresenham para líneas El algoritmo de Bresenham es una mejora respecto al DDA para trazar líneas, optimizando el rendimiento al evitar cálculos con punto flotante y utilizando únicamente operaciones enteras.

  3. Algoritmo de Bresenham para círculos El algoritmo de Bresenham para círculos es una extensión del algoritmo para líneas, y se utiliza para trazar un círculo utilizando simetría. En lugar de dibujar cada punto del círculo, este algoritmo calcula solo una octava parte del círculo y refleja esos puntos en las otras secciones.

  4. Algoritmo de Bresenham para elipses El algoritmo de Bresenham para elipses es una variante del algoritmo para círculos y sigue el mismo principio de utilizar enteros y simetría, pero adaptado a las propiedades geométricas de la elipse.

Desarrollo

Este proyecto fue desarrollado de manera individual, donde cada integrante asumió responsabilidades específicas: uno se encargó de los algoritmos y la lógica de la GUI, mientras que otro se ocupó de la estética de la interfaz. Debido a esta distribución, optamos por modular gran parte del código y distribuirlo en diferentes archivos, evitando una programación en cascada y respetando los principios de la programación mantenible.

Capturas

image image image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages