Estás en: Cristalab > Artículos > El algoritmo tras la hierba, su raiz mátematica y código
El algoritmo tras la hierba, su raiz mátematica y código
Por: M@U +
21 de Junio del 2009
Después de muchos días de trabajo sin descanso, el equipo de Cristalab logro mejorar notablemente sus algoritmos de seguridad y rendimiento en general, haciendo del mundo un lugar mejor.
Este éxito se concluyo gracias al descubrimiento de una ecuación matemática extraída directamente de la planta «Cannabis sativa», por lo que no es necesario señalar sus singulares efectos.
Para deleite de los visitantes, hemos encapsulado un poco de su esencia en Actionscript 3, para que solo así puedan ser testigos de su misterioso poder. Solamente tienes que dar click en el recuadro para verla en acción:
La mencionada ecuación, cabe destacar, está graficada en un plano de coordenadas polares, por lo que no esperes sea igual a las que respondías en el colegio:
Esto, traducido a glorioso ActionScript 3 seria similar a lo siguiente:
Código :
// Primero declaramos el Sprite donde dibujar
var graph:Sprite = new Sprite();
graph.graphics.beginFill(0xC0C0B4);
graph.graphics.drawCircle(0, 0, 5);
graphics.lineStyle(1, 0xC0C0B4, 1);
graph.visible = false;
addChild(graph);
// Estas variables las necesitaremos para trazar coordenadas en
// el plano polar, y deshacernos del convencional plano cartesiano
// que esta por defecto en Flash
var a:Number = -10*Math.PI;
var theta:Number = -Math.PI;
var r:Number = 0;
// Función encargada que colocar el punto en el sitio indicado
function polar(sprite:Sprite):void
{
sprite.x = 10 * r * Math.cos(theta) + r;
sprite.y = 10 * r * Math.sin(theta) + r;
}
// Una vez que tenemos todo listo, comenzamos a dibujar
addEventListener(Event.ENTER_FRAME, listener);
function listener(event:Event):void
{
switch(event.type)
{
// Recuperamos el evento ENTER_FRAME para comenzar a trabajar
case Event.ENTER_FRAME:
if(a < 0)
{
a += 0.01;
r = 10*(1+.9*Math.cos(8*a))*(1+.1*Math.cos(24*a))*(.9+.05*Math.cos(200*a))*(1+Math.sin(a));
graphics.lineTo(graph.x , graph.y);
} else {
// Removemos el evento ENTER_FRAME una vez que hemos terminado
removeEventListener(Event.ENTER_FRAME, listener);
graph.visible = false;
return;
}
// Mientras la ecuación anterior trabaja, debemos desplazar poco a poco el angulo
polar(graph);
theta += 0.01;
break;
}
}
jajajaja Genial!!!! M@U eres un genio por pasarlo a AS3
*Recuerda sus clases de matemáticas y las gráficas polares... Por:daz_angie
Eso explica el por que las largas noches conectado al talk. Investigación es investigación, nada de prilouders o satélites termonucleares. Muy bien M@U Por:bryanisimo
Jeje, curiosa utilización de la gràficas en polares.
Por cierto, ¿te salió algo desfasada que la hoja se ve inclinada? Por:Bleend-blog
Si los límites son de -PI a PI, no entiendo que empieces por algo como -10*PI. Además, estamos usando dos variables (a y theta) cuando sólo nos haría falta una sola.
Por cierto, debemos, antes de empezar el onEnter hacer un Move al primer punto calculado para que no nos quede esa línea recta Por:Eliseo-blog
Eliseo-blog :
Si los límites son de -PI a PI, no entiendo que empieces por algo como -10*PI. Además, estamos usando dos variables (a y theta) cuando sólo nos haría falta una sola. Por cierto, debemos, antes de empezar el onEnter hacer un Move al primer punto calculado para que no nos quede esa línea recta
En realidad la función está definida en todo R El hecho de empezar con -10*PI simplemente hace que de 10 "vueltas" o se dibuje 10 veces (que no es para otra cosa que para entretener)
Con a y theta tienes razón, solo una es necesaria Por:_CONEJO
Wow, siempre lo he dicho, la naturaleza diseña matemáticamente, nuestro mundo esta lleno de patrones y fractales, y aquí tenemos un vivo ejemplo Por:EmiR
EmiR-blog :
Wow, siempre lo he dicho, la naturaleza diseña matemáticamente, nuestro mundo esta lleno de patrones y fractales, y aquí tenemos un vivo ejemplo
Emmm, si ¿por que no?. Todo eso que dijo el Lepórido es lo mismo que yo habría dicho, y lo del uso de theta/a ya lo había deducido pero olvide actualizar el código. Sorry, Por:M@U
jajajaj esta de lujo Por:oscartitan
Wow! Es lo mas cool que he visto en toda la semana Por:MmO12
NO se puede creer!!!
Esto es estupendo. Por:Mastrufedo
_CONEJO sabiondo Por:_burtoboy-blog
Yo, cada vez me sorprendo mas. Es increible como con AS se pueden hacer tantas cosas infinitas. Por:Andromeda_Erick-blog
la teta de quien? .... jejejeje ya fumaron esa porqueria de nuevo
Ya en serio, muy buena demostracion Por:sergestux
Muy Bueno. me dio ganas de encender mi pipa Por:cuff-blog
oal la vedad estudio informatica y no entiendo nada de algoritmico sus problemas
java=visual basic
nada d eso Por:ola-blog