1 @c English version: 2011-03-27
3 * Introducción a fractals::
4 * Definiciones para IFS fractals::
5 * Definiciones para fractales complejos::
6 * Definiciones para cops de Koch::
7 * Definiciones para curvas de Peano::
11 @node Introducción a fractals, Definiciones para IFS fractals, fractals, fractals
12 @section Introducción a fractals
14 Este paquete define algunos fractales:
16 - con IFS (Iterated Function System) aleatorias: triángulo de Sierpinsky, un
19 - Fractales complejos: conjuntos de Mandelbrot y de Julia.
23 - Funciones de Peano: funciones de Sierpinski y Hilbert.
25 Autor: José Rammírez Labrador.
27 Para preguntas, sugerencias y fallos,
29 pepe DOT ramirez AAATTT uca DOT es
31 @node Definiciones para IFS fractals, Definiciones para fractales complejos, Introducción a fractals, fractals
32 @section Definiciones para IFS fractals
34 Algunos fractales se pueden generar por medio de la aplicación iterativa
35 de transformaciones afines contractivas de forma aleatoria; véase
37 Hoggar S. G., "Mathematics for computer graphics", Cambridge University
40 Definimos una lista con varias transformaciones afines contractivas,
41 luego las vamos seleccionando de forma aleatoria y recursiva. La
42 probabilidad de selección de una transformación debe estar relacionada
43 con la razón de contracción.
45 Se pueden cambiar las transformaciones y encontrar nuevos fractales.
48 @deffn {Función} sierpinskiale (@var{n})
50 Triángulo de Sierpinski: 3 aplicaciones contractivas; constante de contracción de 0.5
51 y traslaciones. Todas las aplicaciones tienen la misma constante de contracción. El argumento
52 @var{n} debe ser suficientemente alto, 10000 o mayor.
57 (%i1) load("fractals")$
59 (%i3) plot2d([discrete,sierpinskiale(n)], [style,dots])$
63 @deffn {Función} treefale (@var{n})
65 3 aplicaciones contractivas, todas ellas con el mismo coeficiente
66 de contracción. El argumento @var{n} debe ser suficientemente alto, 10000 o mayor.
71 (%i1) load("fractals")$
73 (%i3) plot2d([discrete,treefale(n)], [style,dots])$
77 @deffn {Función} fernfale (@var{n})
79 4 aplicaciones contractivas, cuyas probabilidades de selección deben estar
80 relacionadas con su constante de contracción. El argumento @var{n} debe ser
81 suficientemente alto, 10000 o mayor.
86 (%i1) load("fractals")$
88 (%i3) plot2d([discrete,fernfale(n)], [style,dots])$
92 @node Definiciones para fractales complejos, Definiciones para cops de Koch, Definiciones para IFS fractals, Top
93 @section Definiciones para fractales complejos
95 @deffn {Función} mandelbrot_set (@var{x}, @var{y})
97 Conjunto de Mandelbrot.
99 Esta función debe realizar muchas operaciones y puede tardar bastante
100 tiempo en ejecutarse, tiempo que también depende del número de puntos
106 (%i1) load("fractals")$
107 (%i2) plot3d (mandelbrot_set, [x, -2.5, 1], [y, -1.5, 1.5],
108 [gnuplot_preamble, "set view map"],
109 [gnuplot_pm3d, true],
117 @deffn {Función} julia_set (@var{x}, @var{y})
121 Esta función debe realizar muchas operaciones y puede tardar bastante
122 tiempo en ejecutarse, tiempo que también depende del número de puntos
128 (%i1) load("fractals")$
129 (%i2) plot3d (julia_set, [x, -2, 1], [y, -1.5, 1.5],
130 [gnuplot_preamble, "set view map"],
131 [gnuplot_pm3d, true],
135 Véase también @code{julia_parameter}.
141 @defvr {Variable opcional} julia_parameter
142 Valor por defecto: @code{%i}
144 Parámetro complejo para fractales de Julia. Su valor por defecto es @code{%i},
145 y otros que se sugieren son: @code{-.745+%i*.113002}, @code{-.39054-%i*.58679},
146 @code{-.15652+%i*1.03225}, @code{-.194+%i*.6557} y @code{.011031-%i*.67037}.
154 @deffn {Función} julia_sin (@var{x}, @var{y})
156 Mientras que la función @code{julia_set} implementa la transformación
157 @code{julia_parameter+z^2}, la función @code{julia_sin} implementa
158 @code{julia_parameter*sin(z)}. Véase el código fuente para más detalles.
160 Este programa es lento porque calcula muchos senos; el tiempo de ejecución
161 también depende del número de puntos de la malla.
166 (%i1) load("fractals")$
167 (%i2) julia_parameter:1+.1*%i$
168 (%i3) plot3d (julia_sin, [x, -2, 2], [y, -3, 3],
169 [gnuplot_preamble, "set view map"],
170 [gnuplot_pm3d, true],
174 Véase también @code{julia_parameter}.
177 @node Definiciones para cops de Koch, Definiciones para curvas de Peano, Definiciones para fractales complejos, Top
178 @section Definiciones para cops de Koch
182 @deffn {Función} snowmap (@var{ent}, @var{nn})
184 Copos de Koch. La función @code{snowmap} dibuja el copo de Koch
185 sobre los vértices de un polígono convexo inicial del
186 plano complejo. La orientación del polígono es importante.
187 El argumento @var{nn} es el número de recursividades de la transformación
188 de Koch, el cual debe ser pequeño (5 o 6).
193 (%i1) load("fractals")$
194 (%i2) plot2d([discrete,
195 snowmap([1,exp(%i*%pi*2/3),exp(-%i*%pi*2/3),1],4)])$
196 (%i3) plot2d([discrete,
197 snowmap([1,exp(-%i*%pi*2/3),exp(%i*%pi*2/3),1],4)])$
198 (%i4) plot2d([discrete, snowmap([0,1,1+%i,%i,0],4)])$
199 (%i5) plot2d([discrete, snowmap([0,%i,1+%i,1,0],4)])$
207 @node Definiciones para curvas de Peano, , Definiciones para cops de Koch, fractals
208 @section Definiciones para curvas de Peano
210 Funciones continuas que cubren un área. Aviso: el número de puntos
211 crece exponencialmente con @var{n}.
215 @deffn {Función} hilbertmap (@var{nn})
217 Curva de Hilbert. El argumento @var{nn} debe ser pequeño (por ejemplo, 5).
218 Maxima se puede detener si @var{nn} es 7 o mayor.
223 (%i1) load("fractals")$
224 (%i2) plot2d([discrete,hilbertmap(6)])$
228 @deffn {Función} sierpinskimap (@var{nn})
230 Curva de Sierpinski. El argumento @var{nn} debe ser pequeño (por ejemplo, 5).
231 Maxima se puede detener si @var{nn} es 7 o mayor.
236 (%i1) load("fractals")$
237 (%i2) plot2d([discrete,sierpinskimap(6)])$