Otra entrada migrada de la vieja web, la cual ha perecido con dignidad. De a pocos voy a ir copiando mis viejos tutoriales a este blog, ¡hay que tener paciencia!
Rod Stephens, autor de http://csharphelper.com/ tenía un tutorial sobre cómo dibujar estos fractales, pero él también ha tenido problemas con su web y el tutorial ya no está disponible. Voy a poner aquí lo que yo tengo, mi código está basado en el de Rod, así que los créditos van para él.
Al revisar la documentación en http://mathworld.wolfram.com/CurlicueFractal.html noté que sólo menciona dos ecuaciones cuando en el código fuente de Rod (ya no disponible) se usan cuatro:
La traducción del algoritmo es la siguiente: Se tiene una línea de
longitud 1, paralela al eje x. Se calcula un número theta con la
ecuación, luego, con la ecuación se calcula el nuevo ángulo de la
siguiente línea de longitud 1, cuyo punto inicial será el extremo final
de la línea anterior.
Al final resulta un ángulo. Su módulo es 1. Para calcular las
coordenadas se multiplica por el coseno (coordenada x) y el seno
(coordenada y).
Mi programa está basado en el algoritmo de Rob, pero con algunas cosas
añadidas, como zoom y poder posicionar el fractal, además emplea el objeto
Graphics de una forma diferente para dibujar el fractal, también añadí un
número aleatorio para jugar con los colores:
El fractal se genera sólo a partir de un número irracional. Si se utiliza un número racional sólo aparecerá una línea horizontal.
La aplicación se puede descargar de aquí (para Visual C# 2008).
No hay comentarios:
Publicar un comentario