Giter VIP home page Giter VIP logo

jantoniovr / geometria-fractal Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 1.0 185.49 MB

Trabajo de Fin de Grado de Juan Antonio Villegas Recio, estudiante de Ingeniería Informática y Matemáticas en la Universidad de Granada. El proyecto consiste en una introducción a los fractales y a sus fundamentos matemáticos, junto visualización de fractales 2D y 3D utilizando técnicas de Ray-Tracing

Home Page: https://jantoniovr.github.io/Geometria-Fractal

License: MIT License

TeX 59.14% Mathematica 13.36% HTML 6.52% CSS 0.41% JavaScript 20.57%
fractal-algorithms fractal-images fractal-rendering fractals tfg tfg-etsiit tfg-ugr ugr

geometria-fractal's People

Contributors

asmilex avatar jantoniovr avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

asmilex

geometria-fractal's Issues

Añadir efectos realistas al ray tracing

Para darle un aspecto más realista podemos:

  • Añadir material al suelo en lugar de un color uniforme.
  • Añadir sombras provocadas por las fuentes de luz.
  • Aplicar antiliasing para mejorar los resultados

Redactar la parte de informática

Comenzar a redactar la documentación de la parte de informática:

  • Introducción a las bibliotecas de renderización
  • WebGL y sus componentes (con insistencia en los shader)
  • Visualización de fractales 2D
  • Introducción al ray-tracing
  • Visualización de fractales 3D

Dimensión de los objetos fractales clásicos

Habría que probar o referenciar que la definición de dimensión fractal autosimilar es una buena definición, en el sentido de que no depende de la partición concreta ni de k.

Corregir MIL

El modelo de iluminación utilizado en RT es un pelín más complejo de lo que encontré en la bibliografía, por lo que hay que editarlo.

Redactar capítulo 4

Redactar el capítulo 4, que tratará de sistemas de funciones iteradas (SFI)

Estructura de la parte de Matemáticas

Una vez leído el título 'Iteración y Fractales', es momento de estructurar el contenido del proyecto. Qué se va a incluir, qué se va a eliminar, partes en las que merezca la pena pararse más, etc.
Importante no pararse demasiado en pequeños detalles y estructurar de forma que la parte de matemáticas ocupe aproximadamente unas 50-60 páginas (cuidado con las fotos).

Arreglar o entender fallos en Mathematica

Una serie de códigos ejecutados en Mathematica me han dado problemas (A solucionar con Manuel)

  • El juego del caos
  • La celda en el 2.4.1. que no se ejecuta en mil años
  • En general las que son Length[FixedPointList[...]] no se ejecutan en mil años
  • En 3.1. el DensityPlot pone una imagen en blanco, más abajo hay una función muy similar que usa Mod y funciona pero los colores son horribles. Luego los conjuntos generalizados funcionan crema.
  • En el 4.4. intento sintetizar todo el DensityPlot[...] en una función para no chapar y me sale una salida muy rara. Y uno de los conjuntos sale en blanco por razones oscuras seguramente. Y más abajo pasa lo mismo al intentar hacer una función que grafique M.
  • En el 5.3 muchos problemas derivados de números excesivamente pequeños y cuando $k=1$ dice que no converge.
  • En el 5.4.1 lo mismo, números demasiado pequeños.
  • Del 7.2 no funciona nada.

Mejorar interacción en la web del canvas

Para mejorar la interacción se proponen algunas propuestas:

  • Desplazar los controles a la derecha
  • Añadir texto con los controles
  • Eliminar el deslizado como método de zoom
  • Añadir botón de 'reset'

Redactar el capítulo 2

Una vez finalizada prácticamente la redacción del capítulo 1, es momento de redactar el capítulo 2, que trata sobre iteración

Redactar presupuestos y diseños

La memoria de informática requiere un apartado de presupuestos, análisis de requisitos y diseño del proyecto, hay que hacerla

Extender lo relativo a la dimensión fractal

En el apartado 1.4 de 'Iteración y Fractales' se trata la dimensión fractal de manera intuitiva. Usar recursos para ampliar este concepto.

Explicar la relación entre las distintas medidas/dimensiones y, si no se usan todas, explicar por qué se introducen

Documentar código

Todo el código debe estar debidamente documentado e incluida dicha documentación en la memoria.

Añadir interactividad a la página

Añadir código para:

  • Mover de posición el conjunto de Mandelbrot
  • Hacer zoom en las distintas regiones
  • Parametrizar el número máximo de iteraciones.

Redactar Capítulo 3

Redactar el capítulo 3, que será la unión de los capítulos 3 y 4 de 'Iteración y Fractales', de forma que se llamará Conjuntos de Julia y Mandelbrot.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.