Matemáticas + Flash = El Triángulo de Sierpinski

Posted in: ActionScript- ene 24, 2005 5 Comments

Desde hace un tiempo me ha estado llamando la atención los fractales y aplicar dichas formulas en Flash.

Siendo que hay formulas muy complejas para dichos fractales, comencé por una formula mas o menos simple que da como resultado el triangulo de Sierpinski que en la teoría dice así

“El matemático polaco Waclaw Sierpinski introdujo este fractal en 1919. Partamos (iteración n=0) de la superficie de un triángulo equilátero de lado unidad. Seguidamente (iteración n=1) tomemos los puntos medios de cada lado y construyamos a partir de ellos un triángulo equilátero invertido de lado 1/2. Lo recortamos. Ahora (iteración n=2) repetimos el proceso con cada uno de los tres triángulos de lado 1/2 que nos quedan. Así que recortamos, esta vez, tres triángulos invertidos de lado 1/4.”

Se puede encontrar más teoría y formulas para fractales en www.fractales.org

Bueno pasemos a flash. Todo lo anterior dio como resultado

Un par de funciones recursivas que se ejecutan dependiendo las interacciones que especifiquemos, el código queda así:

[as]
function init(){
this.createEmptyMovieClip(“big”, 1);
time(230, 10, 10, 7);
}
function triangulo(largo, x, y) {
h = Math.round(y+Math.sqrt(3)*largo)
big.lineStyle(1,0×666666,100);
big.moveTo(x, y);
big.lineTo(x-largo, h);
big.lineTo(x+largo, h);
big.lineTo(x, y);
};
function time(largo, xIni, yIni, max) {
var i = 0;
var max = max
var wait = setInterval(function(){
if (i++<max–) {
xIni += largo;
largo = largo/2
triangulo(largo, xIni, yIni);
time(largo, xIni-largo, yIni+Math.sqrt(3)*largo, max);
time(largo, xIni-2*largo, yIni, max);
time(largo, xIni, yIni, max);
} else {
clearInterval(wait);
}
}, 1000, largo, xIni, yIni, max);
};
init();
[/as]


Y el resultado visible así.

[FLASH]http://www.tmeister.net/archivos/fractal.swf, 450,430[/FLASH]

Pueden usar el menu secundario de Flash para aumentar el tamaño del swf y ver el resultado….

PD. Si alguien tiene algún ejemplo de fractales en flash y lo quiere compartir es bienvenido. :D :D

  • nibblesmx

    nice 8D

  • papuchango

    wow

    o_O

  • dimitre

    wawa, que bueno
    me encanta sierpinski
    mirá quando pudera
    http://dmtr.org/generative/?id=43

  • http://enproceso lexxex desde Perú

    disculpa la pregunta, en el script cuando declaras “big”–> es un triangulo que has hecho conla herramienta lapiz o todo esta creado enteramente en el script?
    Gracias por tu respuesta

  • http://www.tmeister.net Tmeister

    No.

    big es un MovieClip vacio que he creado en la segunsda linea

    this.createEmptyMovieClip(“big”, 1);