TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son...

19
TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES Compiló: Efraín Patiño B. 29-11-2017 1 Este trabajo abarca un resumen general acerca de lo que son los fractales, empezando con lo básico acerca de que se entiende por un fractal, una breve reseña histórica, los principios básicos de los fractales que los rigen, su forma de construirlos e identificarlos, herramientas digitales asociadas, varios ejemplos naturales y artificiales y sus aplicaciones en diferentes campos actuales y a futuro. 1. Concepto. Veamos a continuación algunos intentos o acercamientos por definir que es un fractal: Un fractal es un objeto geométrico cuya estructura básica, fragmentada o aparentemente irregular, se repite a diferentes escalas. 1 El término fue propuesto por el matemático Benoît Mandelbrot en 1975 y deriva del latín fractus, que significa quebrado o fracturado. Muchas estructuras naturales son de tipo fractal. La propiedad matemática clave de un objeto genuinamente fractal es que su dimensión métrica fractal es un número no entero. Si bien el término "fractal" es reciente, los objetos hoy denominados fractales eran bien conocidos en matemáticas desde principios del siglo XX. Las maneras más comunes de determinar lo que hoy denominamos dimensión fractal fueron establecidas a principios del siglo XX en el seno de la teoría de la medida. Tomado de https://es.wikipedia.org/wiki/Fractal Un fractal es un objeto cuya estructura se repite a diferentes escalas. Es decir, por mucho que nos acerquemos o alejemos del objeto, observaremos siempre la misma estructura. De hecho, somos incapaces de afirmar a qué distancia nos encontramos del objeto, ya que siempre lo veremos de la misma forma. Tomado de https://www.xatakaciencia.com/matematicas/que-son-los-fractales-y-como-se-construyen El Fractal es, matemáticamente, una figura geométrica que es compleja y detallada en estructura a cualquier nivel de magnificación. A menudo los fractales son semejantes a sí mismos; esto es, poseen la propiedad de que cada pequeña porción del fractal puede ser visualizada como una réplica a escala reducida del todo. La característica que fue decisiva para llamarlos fractales es su dimensión fraccionaria. Es importante reconocer que los fractales verdaderos son una idealización. Ninguna curva en el mundo real es un fractal verdadero; los objetos reales son producidos por procesos que actúan sólo sobre un rango de escalas finitas. En otras palabras, los objetos reales no tienen la infinita cantidad de detalles que los fractales ofrecen con un cierto grado de magnificación. Tomado de https://sites.google.com/site/cienciafractal/concepto Como nos damos cuenta, existen diferentes acercamientos a lo que podemos entender por un fractal, solamente cuando estemos inmersos y luego de haber trabajado y entendido la forma como se crean artificialmente y se ven en la naturaleza; nos podemos dar una idea nosotros mismos de que podemos entender por un fractal.

Transcript of TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son...

Page 1: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 1

Este trabajo abarca un resumen general acerca de lo que son los fractales, empezando con lo básico acerca de que se entiende por un fractal, una breve reseña histórica, los principios básicos de los fractales que los rigen, su forma de construirlos e identificarlos, herramientas digitales asociadas, varios ejemplos naturales y artificiales y sus aplicaciones en diferentes campos actuales y a futuro.

1. Concepto.

Veamos a continuación algunos intentos o acercamientos por definir que es un fractal:

Un fractal es un objeto geométrico cuya estructura básica, fragmentada o aparentemente irregular, se repite a diferentes escalas.1 El término fue propuesto por el matemático Benoît

Mandelbrot en 1975 y deriva del latín “fractus”, que significa quebrado o fracturado. Muchas estructuras naturales son de tipo fractal. La propiedad matemática clave de un objeto genuinamente fractal es que su dimensión métrica fractal es un número no entero.

Si bien el término "fractal" es reciente, los objetos hoy denominados fractales eran bien conocidos en matemáticas desde principios del siglo XX. Las maneras más comunes de determinar lo que hoy

denominamos dimensión fractal fueron establecidas a principios del siglo XX en el seno de la teoría de la medida.

Tomado de https://es.wikipedia.org/wiki/Fractal

Un fractal es un objeto cuya estructura se repite a diferentes escalas. Es decir, por

mucho que nos acerquemos o alejemos del objeto, observaremos siempre la misma

estructura. De hecho, somos incapaces de afirmar a qué distancia nos encontramos del

objeto, ya que siempre lo veremos de la misma forma.

Tomado de https://www.xatakaciencia.com/matematicas/que-son-los-fractales-y-como-se-construyen

El Fractal es, matemáticamente, una figura geométrica que es compleja y detallada en

estructura a cualquier nivel de magnificación. A menudo los fractales son semejantes a sí

mismos; esto es, poseen la propiedad de que cada

pequeña porción del fractal puede ser visualizada

como una réplica a escala reducida del todo. La

característica que fue decisiva para llamarlos

fractales es su dimensión fraccionaria.

Es importante reconocer que los fractales

verdaderos son una idealización. Ninguna curva en

el mundo real es un fractal verdadero; los objetos

reales son producidos por procesos que actúan

sólo sobre un rango de escalas finitas. En otras palabras, los objetos reales no tienen la

infinita cantidad de detalles que los fractales ofrecen con un cierto grado de magnificación.

Tomado de https://sites.google.com/site/cienciafractal/concepto

Como nos damos cuenta, existen diferentes acercamientos a lo que podemos entender por

un fractal, solamente cuando estemos inmersos y luego de haber trabajado y entendido la

forma como se crean artificialmente y se ven en la naturaleza; nos podemos dar una idea

nosotros mismos de que podemos entender por un fractal.

Page 2: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 2

2. Reseña histórica.

Los fractales deben su origen al francés Henri Poincaré (1854-

1912).

Sus ideas fueron tomadas, más tarde por dos matemáticos, también

franceses: Gastón Julia y Pierre Fatou, hacia 1918.

Hubo un paréntesis en el estudio de los fractales, que fue renovado

a partir de 1974 en IBM y fue fuertemente impulsado por el

desarrollo de la computadora digital.

En realidad, el término fractal fue acuñado en 1975 por el Dr. Benoit Mandelbrot, de la

Universidad de Yale, a quien se considera el padre de la geometría fractal. Su trabajo, que

mostraba diversas variantes del conjunto que hoy lleva su nombre, fue publicado el 26 de

diciembre de 1980.

La aparición de los fractales originó una geometría que puede describir el universo en

perpetuo cambio. Según palabras de Mandelbrot: “acuñé el término fractal a partir del

adjetivo latino fractus. El verbo latino correspondiente, fragere, significa “romper”: crear

fragmentos irregulares ¡qué apropiado para nuestras necesidades!... que, además de

“fragmentado” (como en fracción o refracción) fractus también signifique “irregular”, y que

ambos sentidos se preserven en fractal”.

John H. Hubbard, de la Universidad de Cornell, y Adrien

Douady, de la Universidad de Paris, en honor a su

descubridor, pusieron al conjunto el nombre de Mandelbrot en

la década de 1980, mientras trabajaban en las pruebas de

diversos aspectos del mismo.

Hubbard dice haberse reunido con Mandelbrot en 1979, y

haberle mostrado cómo programar una computadora para

lograr funciones iterativas. Hubbard admite que Mandelbrot

más tarde desarrolló un método superior para generar las

imágenes del conjunto.

Estas curvas eran llamadas monstruos. Los matemáticos conservadores del siglo XIX

consideraban patológicas a estas curvas monstruo. No las aceptaban ni las creían dignas

de exploración porque contradecían las ideas matemáticas aceptadas.

Por ejemplo, algunas eran funciones continuas que no eran diferenciables, algunas tenían

áreas finitas con perímetros infinitos, y algunas podían llenar por completo el espacio.

Los matemáticos del siglo XX tuvieron un serio conflicto para decir quien fue el primero en

descubrir el conjunto de Mandelbrot.

Resumen tomado de http://xfractal.blogspot.com.co/2008/06/historia-de-los-fractales.html

Video1, Video2, como material de apoyo

Page 3: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 3

3. Principios básicos de los fractales que los rigen.

Un fractal es un ente matemático que no se define de la manera habitual como se definen

otros conceptos matemáticos. Se caracteriza por una propiedad de invariancia en presencia

de “cambios de escala”. Esta propiedad se denomina “auto-semejanza” y por lo general se

puede presentar de maneras y formas muy distintas: en algunos casos, la autosemejanza

es matemática exacta y hablamos de “fractales deterministas”, mientras que en otros casos,

que se encuentran en el mundo real que nos rodea, la auto-semejanza es aproximada.

Los fractales deterministas constituyen un nuevo tipo de Geometría: la Geometría Fractal,

que es, ante todo, un nuevo lenguaje. Mientras que los elementos de nuestra bien conocida

Geometría Euclidiana son líneas, círculos, esferas, etc., los elementos de la Geometría

Fractal escapan a la percepción directa. Ello se debe a que son algoritmos que solamente

la computadora puede convertir en formas y estructuras.

En el siguiente cuadro lo podemos apreciar mejor:

http://www2.caminos.upm.es/Departamentos/matematicas/Fdistancia/MAIC/CONGRESOS/SEGUNDO/008%20Fractales.pdf

Existen tres características que modelan los fractales, la Autosimilitud, la Dimensión fractal

y los Algoritmos recursivos:

a) Autosimilitud

Según B. Mandelnrot, un objeto es autosimilar o autosemejante si sus partes tienen la

misma forma o estructura que el todo, aunque pueden presentarse a diferente escala y

pueden estar ligeramente deformadas.

Los fractales pueden presentar tres tipos de autosimilitud:

Autosimilitud exacta. este es el tipo más restrictivo de autosimilitud: exige que el

fractal parezca idéntico a diferentes escalas. A menudo la encontramos en fractales

definidos por sistemas de funciones iteradas.

Cuasiautosimilitud: exige que el fractal parezca aproximadamente idéntico a

diferentes escalas. Los fractales de este tipo contienen copias menores y

distorsionadas de sí mismos. Matemáticamente D.Sullivan definió el concepto de

Page 4: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 4

conjunto cuasiauto-similar a partir del concepto de cuasi-isometría. Los fractales

definidos por relaciones de recurrencia son normalmente de este tipo.

Autosimilitud estadística. Es el tipo más débil de autosimilitud: se exige que el fractal

tenga medidas numéricas o estadísticas que se preserven con el cambio de escala.

Los fractales aleatorios son ejemplos de fractales de este tipo.

b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

Entre los fractales podemos encontrar ejemplos como curvas que llenan todo el plano. En

ese caso, la dimensión topológica de la curva, que es uno, no nos informa sobre la forma

en que esta ocupa el espacio ambiente. De modo general, podríamos preguntarnos cómo

densamente un conjunto ocupa el espacio métrico que lo contiene. Los números que nos

informan objetivamente de este tipo de cuestiones son:

La dimensión fractal. Las fórmulas que la definen tienen que ver con el recuento

de las bolas necesarias para recubrir el conjunto o con el de cajas de una cuadrícula que

contienen parte del conjunto, cuando las dimensiones de unas y otras tienden a cero.

Podemos medir la dimensión fractal de objetos reales: líneas de la costa (1.2), nubes,

árboles, etc, Con estas medidas podemos comparar objetos del mundo real con fractales

generados por algoritmos matemáticos.

La dimensión de Hausdorff-Besicovitch. Tiene una definición más compleja que

la de dimensión fractal. Su definición no suele usarse para comparar conjuntos del mundo

real.

c) Definición por algoritmos recursivos

Podemos destacar tres técnicas comunes para generar fractales:

Sistemas de funciones iteradas (IFS). Unos conjuntos se reemplazan recursivamente

por su imagen bajo un sistema de aplicaciones: el conjunto de Cantor, la alfombra de

Sierpinski, el triángulo de Sierpinski, la curva de Peano, la curva del dragón, el copo de

nieve de Koch o la Esponja de Menger, son algunos ejemplos.

Fractales de algoritmos de Escape, definidos por una relación de recurrencia en cada

punto del espacio (por ejemplo, el plano complejo): el conjunto de Mandelbrot, conjunto de

Julia, y el fractal de Lyapunov.

Fractales aleatorios, generados por procesos estocásticos, no deterministas: el

movimiento, el vuelo de Lévy, los paisajes fractales o los árboles brownianos. Éstos últimos

son producidos por procesos de agregación por difusión limitada.

En la siguiente tabla, podemos ver algunos ejemplos de cada una de las características.

Page 5: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 5

Au

tosim

ilitu

d

Dim

ensió

n

Re

curs

ivid

ad

4. Forma de construir un fractal.

Los fractales se construyen usando funciones iterativas, entre las más famosas están el

Conjunto de Julia y el Conjunto de Mandelbrot, más o menos el proceso es como sigue:

¿Qué es una función iterativa?

Es una expresión que permite calcular una variable dependiente del valor de otras, o del suyo propio en un proceso llamado iteración. Para empezar el proceso de iteración se debe conocer el valor inicial de la variable.

Vamos a iterar tres veces la función Zn+1 = Zn2 + C, fijando el valor inicial de Z como Z0

Primera iteración Z1 = Z02 + C

Segunda iteración Z2 = Z12 + C

Tercera iteración Z3 = Z22 + C

De esta forma se obtiene Z3 que corresponde al valor de Z después de tres iteraciones.

Page 6: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 6

¿Qué hace falta para dibujarlos?

1. Elegir una función:

Utilizaremos la función Zn+1 = Zn2 + C, donde Z y C son números complejos.

2. Operar con números complejos:

Los números complejos constan de una parte real y otra imaginaria. Un número complejo se representa de forma binómica como Z = (a+bi). Donde "a" es el número real y "b" es un número imaginario múltiplo de la unidad

imaginaria "i". La unidad imaginaria tiene como valor constante .

3. Un plano de coordenadas:

Coordenadas cartesianas

4. Fijar condiciones de cálculo según la función elegida y el tipo de fractal que queremos obtener. Por ejemplo, si queremos dibujar el conjunto de Mandelbrot:

o El valor inicial de Z será Z0 = (0+0i). o El valor de C corresponderá a las coordenadas de un punto del plano,

siendo su componente real el valor de la coordenada X y su componente imaginario el valor de la coordenada Y. Entonces C = (X+Yi).

o El número de iteraciones puede ser cualquier valor entero y positivo. o El radio de escape: se sabe que los puntos cuya distancia al origen

de coordenadas es superior a 2 no pertenecen al conjunto, por tanto, lo fijamos en 2 y nos servirá para no realizar cálculos innecesarios.

Page 7: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 7

5. Herramientas digitales para generar fractales

En el mercado existen varios software para trabajar fractales, algunos son gratuitos otros

son pagando. Algunos son buenos, otros son limitados en sus prestaciones.

Entre ellos tenemos, haciendo click en cada uno, podemos entrar a la página web del autor.

Turtle Graphics Renderer

ChaosPro

GNU XaoS

Apophysis

Mandelbulber

Fractint

GIMP

http://areafractal.tierradenomadas.com/software.html

6. Ejemplos de fractales.

En los siguientes enlaces podemos visualizar diferentes ejemplos de fractales, como

imágenes, animaciones, videos y códigos en Matlab para iniciarse en la construcción de

fractales.

Imágenes:

http://es.gizmodo.com/diez-bellisimos-ejemplos-de-fractales-en-la-naturaleza-1677114869

https://www.google.com.co/search?tbm=isch&q=fractales&backchip=g_1:matematicas&chips=q:fra

ctales&sa=X&ved=0ahUKEwia3d_P3OPXAhXG7SYKHd7QCeoQ3VYIIigA&biw=1920&bih=959&dp

r=1

Animaciones:

https://www.youtube.com/watch?v=Bv6Snj9czLs

https://www.mathworks.com/matlabcentral/fileexchange/37813-mandelbrot-set--animated-zoom

https://www.youtube.com/watch?v=bo-MB1QPZ7E

https://www.pinterest.es/pin/523825000393494969/

https://verne.elpais.com/verne/2016/09/30/articulo/1475225982_737639.html

Videos:

https://www.youtube.com/watch?v=NGMRB4O922I

https://www.youtube.com/watch?v=9gk_8mQuerg

https://www.ted.com/talks/benoit_mandelbrot_fractals_the_art_of_roughness/transcript?language=e

s

Page 8: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 8

http://www.rtve.es/alacarta/videos/mas-por-menos/aventura-del-saber-serie-mas-menos-fractales-

geometria-del-caos/1296590/

https://www.youtube.com/watch?v=-7k3UISFMp4

https://www.youtube.com/watch?v=0YaYmyfy9Z4

Código:

https://www.mathworks.com/matlabcentral/fileexchange?term=fractal

http://blogcienciasbasicas.blogspot.com.co/2009/03/fractales-en-matlab.html

http://graficos.conclase.net/curso/?cap=003c

https://www.mql5.com/es/code/328

https://www.wextensible.com/temas/fractal/trazador.html

Libros:

https://www.lectulandia.com/search/fractales

http://www3.gobiernodecanarias.org/medusa/ecoblog/mrodperv/fractales/conjuntos-de-julia-y-

mandelbrot/

http://www.ugr.es/~dpto_am/docencia/cie_mat_calculo/fractales/Links/conjuntos%20de%20Julia%2

0y%20Mandelbrot.html

Música:

https://www.youtube.com/watch?v=bx08aU8RNoI&vl=es

https://www.youtube.com/watch?v=jLokRzFYRik

https://www.youtube.com/watch?v=V5tUM5aLHPA

https://www.youtube.com/watch?v=1-ssKUf4-mk

Page 9: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 9

7. Aplicaciones en diferentes campos.

Pero los fractales no se quedan en una mera curiosidad matemática, y es que cuándo la naturaleza en su amplio espectro se basa en ellos por algo es. De hecho, los fractales tienen muchísimas aplicaciones en campos tan dispares como pueden ser las comunicaciones de redes, la biología, los mercados bursátiles o la música. Vamos a destripar sólo algunos de ellos.

Comunicaciones:

Se ha demostrado que el tráfico de paquetes a lo largo y ancho de internet sigue un modelo que se comporta como un fractal, de hecho, analizando gráficas del tráfico de datos a traves del tiempo, se puede apreciar la propiedad de autosimilitud, aunque realmente no lo es del todo, pero sí que tiende a serlo. Gracias a estos modelados, se podrían disminuir las pérdidas de paquetes producidas por diversos motivos, y mejorar así el rendimiento de la red.

Otra utilidad de los fractales en el mundo de las comunicaciones está referida a la fabricación de antenas. Y es que una antena con forma de algún objeto fractal (como el que hemos descrito antes) puede mejorar el rendimiento del equipo en mucho menos espacio, ya que como vimos la longitud va rellenando el plano.

Medicina:

Es evidente el uso de instrumental informático cuyas infografías se basan en fractales. Además la forma de crecimiento de los tejidos también tiene un comportamiento fractal. De hecho, ciertas investigaciones relativas al cancer demuestran que el crecimiento de estos se rige por estos objetos geométricos, y es más, crecen en la frontera donde "hay hueco" y de forma lineal, no exponencial como se cree, investigaciones que han resultado bastante controvertidas en el mundo de la medicina.

Economía:

Se ha comprobado que el cambio de los precios de los activos de las empresas tiene un comportamiento fractal, y por tanto, pueden ser estudiados utilizando el conocimiento que tenemos de ellos. Esto frena todo intento de encasillar en modelos estadísticos los mercados bursátiles, y basarse en modelos fractales para obtener mejores predicciones de cambio.

Otras utilidades de los fractales, ya sea en fase de experimentación o plenamente desarrolladas están abajo enumeradas:

Informática: Técnicas de compresión (audio y vídeo). Robótica: Robots Fractales. Infografía: Paisajes fractales. Es una de las primeras aplicaciones de los fractales,

y por tanto una de las más desarrolladas Evolución de poblaciones: Depredador-presa. Matemáticas: Convergencia de métodos numéricos. Música: Composición musical.

Page 10: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 10

Física: Transiciones de fase en magnetismo. Química: Agregación por difusión limitada (DLA). Geología: Análisis de patrones sísmicos, fenómenos de erosión, modelos de

formaciones geológicas.

Sin duda alguna la introducción poco a poco de los fractales en todos los frentes va a suponer un gran avance del que nos estamos beneficiando ya mismo, pero es algo que aún creo que está empezando a gatear. Es un "bicho" muy grande que domar, pero que en un futuro nos dará muchas satisfacciones.

8. Bibliografía

https://ordinatous.com/pdf/The_Fractal_Geometry_of_Nature.pdf

https://www.azc.uam.mx/publicaciones/enlinea2/num2/2-2.htm

http://www2.caminos.upm.es/Departamentos/matematicas/Fdistancia/MAIC/CONGRES

OS/SEGUNDO/008%20Fractales.pdf

http://afractales.blogspot.com.co/2012/11/caracteristicas-de-un-fractal.html

http://webs.um.es/jmz/DiseGrafSimula/alumnos_08_09/german_ros/index.files/fractal1_

Intro%201.html

http://www.fractfinder.es/laboratorio/index.php

http://aulamates.com/aplicaciones-fractales/

https://www.mathworks.com/matlabcentral/fileexchange/50417-sierpinski-fractal-triangle

https://www.mathworks.com/matlabcentral/fileexchange/24840-newton-fractal

https://www.chiark.greenend.org.uk/~sgtatham/newton/

https://github.com/steventhornton/Newton-Fractal

http://www.albertostrumia.it/sites/default/files/Fractals/FractalMatlab/Newt.html

https://www.mathworks.com/matlabcentral/fileexchange/27577-fractal-

curves?focused=5201009&tab=function

http://m2matlabdb.ma.tum.de/download.jsp?MC_ID=5&SC_ID=13&MP_ID=301

http://www.konradlorenz.edu.co/images/stories/suma_digital_matematicas/SFI%20y%2

0los%20Fractales.pdf

http://www.sc.ehu.es/sbweb/fisica/cursoJava/numerico/recursivo/recursivo.htm

https://es.khanacademy.org/math/math-for-fun-and-glory/grant-sanderson/inventing-

math-tutorial/v/hilberts-curve-and-the-usefulness-of-infinite-results-in-a-finite-world

http://www.docentes.unal.edu.co/cibermudezs/docs/CursoGeometriaFractal.pdf

Page 11: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 11

ANEXO 1 – INTERFACES DEL PROGRAMA CONSTRUÍDO

Page 12: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 12

Page 13: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 13

Page 14: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 14

ANEXO 2 – DESCRIPCIÓN DE LOS CÓDIGOS UTILIZADOS

Conjunto de Julia Descripción

% Conjunto JULIA % Datos básicos vr_m = str2double(get(handles.vr_m,'String')); vr_pr = str2double(get(handles.pr_r,'String')); vr_pim = str2double(get(handles.pr_i,'String')); kolor = get(handles.vrcmap,'String'); % Numero de iteraciones n_iter = str2double(get(handles.niter,'String')); % Operaciones básicas de datos c = vr_pr + vr_pim*i; k = n_iter; v = 1000; % radio del circulo dentro del cual cada punto diverge r = max(abs(c),2); % se divide el eje x d = linspace(-r,r,v); % crea la matriz que contiene los numeros complejos Z = ones(v,1)*d + i*(ones(v,1)*d)'; % crea la matriz inicial de ceros B = zeros(v,v); % iteraciones for s = 1:k B = B+(abs(Z)<=r); Z = Z.^(vr_m) + ones(v,v).*c; end % Grafica fractal Julia axes(handles.axes1); cla; imagesc(B), colormap(kolor{get(handles.vrcmap,'Value')}); axis square zoom

Nombre del Fractal Se capturan los datos básicos relacionados con la potencia de Z y el número complejo C Se captura el número de iteraciones que se quiera usar. Se realizan algunas operaciones básicas de entrada, con los datos capturados Se calcula el radio de divergencia Se divide el eje x en partes iguales Se monta la matriz con los números complejos Se crea una matriz inicial de ceros para transporte de información Sección donde se realizan las iteraciones y se almacenan en B y Z respectivamente Se grafica el fractal, usando el color seleccionado previamente. Se puede realizar zoom a la gráfica por punteo o por región.

Page 15: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 15

Conjunto de Mandelbrot Descripción

% Conjunto Mandelbrot % Datos básicos vr_m = str2double(get(handles.vrm,'String')); vr_pr = str2double(get(handles.pr_r,'String')); vr_pi = str2double(get(handles.pr_i,'String')); kolor = get(handles.vrcmap,'String'); % Numero de iteraciones n_iter = str2double(get(handles.niter,'String')); % Grilla o Lienzo de la gráfica n = 1000; % Dominio de la gráfica x0 = -2; x1 = 1; y0 = -1.5; y1 = 1.5; [x,y] = meshgrid(linspace(x0, x1, n), linspace(y0, y1, n)); c = x + y*1i; z = zeros(size(c)); k = zeros(size(c)); for ii = 1:n_iter z = z.^m + c; k(abs(z) > 2 & k == 0) = n_iter - ii; end % Grafica fractal axes(handles.axes1); cla; imagesc(k), colormap(kolor{get(handles.vrcmap,'Value')}); axis square zoom

Nombre del Fractal Se capturan los datos básicos relacionados con la potencia de Z y el número complejo C Se captura el número de iteraciones que se quiera usar. Tamaño del lienzo o grilla gráfico a utilizar Se realizan algunas operaciones básicas de entrada, con los datos capturados Se monta la matriz con los números complejos Se crea una matriz inicial de ceros para transporte de información Sección donde se realizan las iteraciones y se almacenan en B y Z respectivamente Se grafica el fractal, usando el color seleccionado previamente. Se puede realizar zoom a la gráfica por punteo o por región.

Page 16: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 16

Triángulo de SIERPINSKI Descripción

% Triangulo de SIERPINSKI % Número de iteraciones n_iter = get(hObject, 'Value'); set(handles.niter, 'String', n_iter); % Constantes a = (1 + sqrt(-3) )/2; % Generate point sequence z = [0; 1]; for k = 1:n_iter z = [z; z+a; z+1]/2; end % Cierra el triangulo z = [z; a; 0]; % Ploteamos el triangulo axes(handles.axes1); cla plot(z) axis square axes(handles.axes1); % Se activa el zoom zoom

Nombre del Fractal Se captura el número de iteraciones que se quiera usar. Constante de trabajo Se genera punto de inicio Sección donde se realizan las iteraciones y se almacenan en B y Z respectivamente Matriz de cierre del triángulo Se grafica el fractal Se puede realizar zoom a la gráfica por punteo o por región.

Page 17: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 17

Curva de KOSCH Descripción

% Curva de Koch % Numero de iteraciones n = str2double(get(handles.niter,'String')); if (n==0) x=[0;1]; y=[0;0]; line(x,y,'Color','b'); axes(handles.axes1); axis equal set(gca,'Visible','on') else levelcontrol=10^n; L=levelcontrol/(3^n); l=ceil(L); kline(0,0,levelcontrol,0,l); axes(handles.axes1); axis equal set(gca,'Visible','on') zoom end

Nombre del Fractal Se captura el número de iteraciones que se quiera usar. Sección donde se revisa cuántas iteraciones desean, si es 0 iteraciones se grafica una línea. En caso contrario, se grafica la curva de Kosch Se grafica el fractal Se puede realizar zoom a la gráfica por punteo o por región.

Page 18: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 18

Curva de HILBERT Descripción

% Fractal de Hilbert % Numero de iteraciones n_iter = str2double(get(handles.niter,'String')); % Constants a = 1 + 1*i; b = 1 - 1*i; % Generate point sequence z = 0; for k = 1:n_iter w = 1*i*conj(z); z = [w-a; z-b; z+a; b-w]/2; end % Grafica fractal axes(handles.axes1); cla; plot(z) axis square zoom

Nombre del Fractal Se captura el número de iteraciones que se quiera usar. Se montan las constantes de inicio Sección genera punto inicial de la secuencia. Se realizan las iteraciones escogidas Se grafica el fractal Se puede realizar zoom a la gráfica por punteo o por región.

Page 19: TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO FRACTALES · Los fractales aleatorios son ejemplos de fractales de este tipo. b) Dimensión fractal y dimensión de Hausdorff-Besicovitch

TRABAJO FINAL DE PROGRAMACIÓN Y ANÁLISIS NUMÉRICO

FRACTALES

Compiló: Efraín Patiño B. 29-11-2017 19

NEWTON-RAPHSON Descripción

% Conjunto NEWTON-RAPHSON % Numero de iteraciones n_iter = str2double(get(handles.niter,'String')); threshold = str2num(get(handles.nlimite,'String')); [xs,ys] = meshgrid(linspace(-1,1,800), linspace(-1,1,800)); solutions = xs(:) + i*ys(:); select = 1:numel(xs); niters = n_iter*ones(numel(xs), 1); for iteration = 1:n_iter; oldi = solutions(select); %in newton's method we have z_{i+1} = z_i - f(z_i) / f'(z_i) solutions(select) = oldi - f(oldi)./ fprime(oldi); %check for convergence or NaN (division by zero) differ = (oldi - solutions(select)); converged = abs(differ) < threshold; problematic = isnan(differ); niters(select(converged)) = iteration; niters(select(problematic)) = n_iter+1; select(converged | problematic) = []; end; niters = reshape(niters,size(xs)); solutions = reshape(solutions,size(xs)); % Grafica fractal newton axes(handles.axes1); cla; imagesc(niters) axis square zoom function res = f(x) res = (x.^2).*x.^2 - 1; function res = fprime(x) res = 4*x.^3;

Nombre del Fractal Se captura el número de iteraciones y el límite de la gráfica. Se monta la grilla de inicio y se realizan operaciones previas de inicio Se realizan las iteraciones escogidas Se redimensiona la gráfica a salir Se grafica el fractal Se puede realizar zoom a la gráfica por punteo o por región. Funciones de apoyo al fractal