Alchemy - fractals viewer

Description

->Préambule :

Voici la première source sur Flashkod qui traite de la technologie Alchemy développée spécialement pour les applications Flash. Alchemy est en faite une technologie qui permet d'utiliser la puissance du C ou C++ afin d'accélérer les traitements lourds de vos animations tel que l'encodage PNG, ou le cryptage de données.

Adobe, en lançant cette technologie, à fournit une API de developpement en C à utiliser pour créer des fonctions utilisables par la suite dans le code Action Script dans son SDK. Il est regrettable de voir que presque personne ne s'intéresse à cette technologie bien qu'elle ait été publiée il y a plus d'un ans de cela...

En gros, Alchemy permet de réutiliser des fonctions C ou C++ directement dans votre code Action Script. Le code C++ ou C doit être préalablement compilé grâce au compilateur du SDK et il donnera un fichier SWC, c'est à dire du byte code, comme lorsque vous compilez vos anims en SWF. Mais le compilateur utilisé est bien plus puissant que celui de Flash ou Flex et le byte code est donc très optimisé réduisant juscqu'à 10x les temps de calculs !

->La source :

Ici pour tester cette technologie, j'ai developpé une petite application pour admirer des fractales à l'ecran. Le calcul de la couleur de tous les pixels est effectué dans une fonction C++ qui à été compilée par le compilateur fournit avec le SDK. J'ai pris les fractales car ce sont des objets Mathématiques très lourdes à calculer.

Plusieurs fractales dispo : Mandelbrot ou Julia. Pour cette dernière les parametres de son equation C et D sont ajustable. Reglage de la couleur, nombre d'itération par pixel (plus il y en a, plus c'est proche de la réalité), déplacement à la souris, zoom avec molette souris...

Source / Exemple :


Contenu des fichiers :
Main.cpp : fonctions C++ permettant de calculer la couleurs des pixel des fractales.
main_empty.fla : Rien, paramétré pour compiler le fichier Fractal.as
Fractal.as : Code Action Script AS3 qui utilise les fonctions C++ et gère l'application.
fractals.swc : Code C++ compilé en bytecode, résultant du fichier Main.cpp.
main_empty.swf : Application finale!

Conclusion :


Pour la fractale de julia, voici quelques paramètres qui rendent bien :
c:0.2, d:0.63, 100 itérations
c:0.08, d:0.63, 300 itérations
c:0.04, d:0.63, 300 itérations
c:0.05, d:0.63, 300 itérations

---------------

Le but de la source est bien sur avant tout de fournir un exemple d'utilisation d'Alchemy et non pas de présenter un explorateur de fractales, en effet cette application est un exemple d'utilisation d'Alchemy uniquement, le fait de pouvoir explorer les fractales avec pas mal d'option est une sorte de... bonus :D
Les fractales sont des objets mathématiques resultant d'équations imaginaires. Plus d'infos ici : http://fr.wikipedia.org/wiki/Fractale

Pour en savoir plus sur Alchemy :
http://labs.adobe.com/technologies/alchemy/

Pour savoir comment installer le SDK pour utiliser Alchemy :
http://labs.adobe.com/wiki/index.php/Alchemy:Documentation:Getting_Started

Pour voir la documentation de l'API C/C++ de Flash pour Alchemy :
http://labs.adobe.com/wiki/index.php/Alchemy:Documentation:Developing_with_Alchemy:C_API

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.