# Anyflo

Anyflo est l'un des premiers logiciel français synthèse 3D (écrit en 1985 par Michel Bret) intégrant un langage interne proche du C, rendu temps réel en 2000.

## Les origines

Dans les années 1970, les microordinateurs avaient des mots codés sur 8 bits (octet), une mémoire vive de 16 ko, pas de disque dur ni d'écran. Il était alors difficile de les envisager comme des outils de création d'images. C'est cependant ce que firent des pionniers comme Hervé Huitric et Monique Nahas à l'Université Paris-VIII.
Puis, en 1975, Louis Audoire conçut le premier processeur graphique français avec lequel il était enfin possible d'afficher des pixels sur un écran. Michel Bret développa alors un ensemble de programmes, d'abord écrits en assembleur, puis en Fortran, en LSE, en C et en C++, destinés à combler le manque de logiciels d'images. Dès 1978, il réalisa les premières installations interactives sorte de Vidéo jockey avant l'heure.
Puis en 1984, lorsque la formation ATI (Art et Technologies de l'Image) fut créée par Hervé Huitric, Monique Nahas, Edmond Couchot, Marie-Hélène Tramus et l'auteur, il développa le logiciel anyflo destiné aussi bien aux étudiants d'art qui venaient s'initier à l'image de synthèse qu'à ses propres créations. Depuis lors le logiciel n'a cessé d'évoluer en s'adaptant aux nouvelles machines.

## Philosophie

Sa principale originalité est de proposer, non pas un ensemble d'outils accessibles via des menus figés, mais plutôt un langage permettant de construire n'importe quel type de fonctionnalité. L'hypothèse de base est celle de la double compétence (artistique et technique) reconnaissant en l'artiste un être pensant autant qu'agissant.

## Le langage

Le langage interne d'anyflo est pseudo compilé (c'est-à-dire qu'il génère un code directement interprétable en C), il est plus simple que le C (par exemple, pas de déclaration de type), il offre des possibilités supplémentaires (par exemple, les calculs sur les variables est généralisé aux tableaux), il est bien évidemment récursif (récursivité). Il connait un ensemble de plusieurs centaines de mots combinables et il est extensible par l'utilisateur.
La syntaxe générale d'une commande est :
com1(p1)com2(p2)...comn(pn) : qui retourne l'appel de la commande multiple com1 com2 ... comn
et
com1(p1)com2(p2)...comn(pn)=valeur : qui affecte valeur à la commande multiple com1 com2 ... comn.
Exemple :
col vertex[1,12]vol(3,7)=1, etc. 8, etc. 4 : affecte la couleur orange aux sommets 1,2, etc.,12 des volumes 3 et 7.

## Développements

L'auteur a conçu un système très général ne faisant aucune hypothèse restrictive, par exemple la perspective conique n'est qu'une méthode de visualisation par défaut, mais il est possible de définir d'autres méthodes comme des perspectives courbes, procédurales ou adaptatives.
IKO, IKO-GRAPH, IKO-LIGHT et OPEN-DESIGN ont été des versions appliquées à l'architecture et utilisées au CIMA par Sabine Porada entre 1985 et 1990.
En 1995, à partir des concepts du connexionnisme, un nouvel objet est apparu dans anyflo : le réseau de neurones artificiels.
En 1998, à partir des concepts de l'évolutionnisme, apparait un autre objet : l'algorithme génétique.
Un exemple de développement complexe est la modélisation du corps humain par un système musculaire et son animation par des réseaux neuronaux.
En prônant une approche cybernétique de la création (avec Edmond Couchot et Marie-Hélène Tramus), le concept de seconde interactivité permet de rendre les systèmes intelligents dont un exemple est La Funambule virtuelle$^,$.
En 2006, des systèmes dynamiques non linéaires ont été utilisés.

## Pédagogie

Le système anyflo est tout à la fois un outil de recherche (pour écrire et tester de nouveaux algorithmes) et une palette d'artiste (réalisation de films de synthèse et d'installations interactives). C'est également une méthode d'enseignement en permettant de construire des programmes interactifs expliquant les notions de base de la synthèse, les réseaux neuronaux, les algorithmes génétiques), la conscience artificielle et les systèmes adaptatifs.
Utilisé initialement par les étudiants d'ATI (de 1985 à 1995) anyflo se présente d'abord comme un outil pédagogique d'initiation aussi bien à la programmation qu'à la création d'images numériques. Une aide en ligne conséquente et plusieurs milliers d'exemples de programmation permettent d'acquérir les concepts de base de la programmation et la connaissance des principaux algorithmes de la synthèse.

## Les plus et les moins

Parmi les plus
* Évolutif, très général, programmable
* Téléchargeable gratuitement en ligne
Parmi les moins
* Nécessite un minimum de connaissances en programmation.
* Développées sur près de trente ans par un seul individu, ses sources ne peuvent que difficilement être mises en ligne sous forme d'Open source, à moins d'être entièrement réécrites en C++, ce qui demanderait plusieurs années ...

## Réalisations

* films réalisés avec anyflo par son auteur.
* Installations interactives réalisées avec anyflo par son auteur.
* films réalisés par des étudiants d'ATI avec anyflo.
* Chu-Yin Chen.