PROGRAMMATION

La philosophie
Les débuts
Anyflo s´écrit en anyflo
Les installations interactives
Examples en langage C++

La philosophie

En partant du code assembleur l´idée de base est d´écrire un langage général non fixé de façon à ce qu´il puisse continuellement évoluer et intégrer de nouvelles idées et de nouveaux concepts. Par exemple les structures dynamiques et les fonctions locales permettent une implémentation aisée des réseaux neuronaux, des algorithmes génétiques, et de la programmation génétique.

Les débuts

Années 1975-1980

        Développement en assembleur intel 8000 et macro11 de programmes interactifs sur le processeur graphic COLORIX mis au point par Louis Audoire au département d´informatique de l´niversité Paris8 (Vincennes). Mise en place de bibliothèques graphiques (pulcol) et de programmes temps réel (anacol) d´animation. Début d´implémentation de mini langages interprétés à partir d´une rablette de saisie graphic.

Années 1980-1984

        Développement en langage symbolique d´enseignement (LSE), assembleur macro11 et Fortran de programmes d´animation, définition du pseudo3D.

A partir de 1986

        La perte de temps entrainée par la nécessaire adaptation à de nouvelles machines, de nouveaux systèmes et de nouveaux langages (assembleur, LSE, Fortran, Algol, ALgol68, C, C++), la réécriture des programmes devenant de plus en plus difficile et longue à mesure qu´augmentait la taille du code (actuellement de l´ordre du million de lignes), me poussa à consacrer une partie de mon temps à l´écriture d´un système général indépendant du matériel et du logiciel: ce fut anyflo. D´abord bati autour d´un interpréteur de lignes de commandes il devint , au cours de son développement, un véritable langage pseudocompilé dont la speed d´exécution me permet de construire très rapidement, encore aujourd´hui, des installations interactives temps réel. Il intègrait des concepts qui n´existaient pas encore (comme la programmatiuon de type "objet") sous la forme de structures incluant simultanément des datas et du code, celui-ci ne se réduisant pas à un pointeur vers une fonction mais étant plutôt l´exécution en parallèle d´un programme partageant ses données avec les autres processus, lesquels constituaient une population d´acteurs. Bien entendu tout cela a été conçu avec mes compétences techniques forcément limitées et sur des machines lentes (cadencée en Khz), si bien que le temps réel ne pouvait qu´être simulé. Mais toutes les conditions étaient réunies pour conduire aux développements actuels du système dans les domaines de la vie et de l´intelligence artificielles (réseaux neuronaux, algorithmes génétiques, systèmes adaptatifs).
        Le fait d´avoir développé ces idées en avance et seul constitue une démarche artistique mais manque l´efficacité et la visibilité d´un travail collectif. Si je regrette aujourd´hui de ne pas avoir pu trouver, au sein de l´Université, les conditions favorables à une recherche scientifique, du moins suis-je bien conscient que la liberté qui m´a été laissée m´a permis de mener à bien une recherche, à la frontière de l´art et de la science.

anyflo s´écrit en anyflo

        Le langage anyflo permet d´implémenter très rapidement une idée, et c´est d´ailleurs lui que j´utilise pour le développer: lorsque la simulation dans ce langage d´une nouvelle fonctionnalité marche bien, c´est à dire lorsque de très nombreux tests intéractifs sont satisfaisants, je le traduis en C++ et l´intègre au code.
        Il même souvent plus rapide de simuler par programme une ligne de commande en langage anyflo) que d´écrire le code correspondant en C++.

Les installations interactives

Plutôt que de founir une boite noire dont l´opacité ne fait qu´entretenir une mystification assez malsaine, le langage anyflo (facilement utilisable par des artistes) permet de construire des Œvres ouvertes (comprenant les sources et une documentation) accesibles en ligne.

La Plume (1986)

        J´ai développé "La Plume" en 1986, avec Marie Hélène Tramus et Edmond Couchot, en langage anyflo.

Le Pissenlit (1988)

        J´ai développé l´installation "Le Pissenlit" en 1988 sur une idée d´Edmond Couchot en langage anyflo.

La Funambule Virtuelle (2000)

        J´ai développé en 2000, avec Marie Hélène Tramus, l´installation "La Funambule". La programmation fait appel à d´assez nombreux modules:
        1) Construction d´un corps à partir des idées développées dans par exemple:
Méthode comportementale de modélisation et d´animation du corps humain
Corps vivants virtuels
La funambule virtuelle
        2) Construction de réseaux neuronaux, voir par exemple:
Cours sur le connexionnisme
Méthodes d´optimisation en création artistique
        3) Animation dynamique:
Dynamique dans anyflo
        3) Temps réel.
L´interaction dans anyflo

Danse avec moi(2001)

        J´ai développé, avec Marie Hélène Tramus, Danse avec moi qui est une danseuse interagissant librement avec les spectateurs au moyen de capteurs variés (audio, polhemus, intertrax, kroonde, caméra).

L´Artauphone(2004)

        J´ai développé, avec Marie Hélène Tramus, l´Artauphone qui traduit en images une voix lisant des poèmes.

La Danseuse Virtuelle (2004)

        J´ai développé, en langage anyflo, de nombreuses installations artistiques et d´outils pédagogiques mettant en scène des danseuses virtuelles interactives et autonomes qui sont la suite de la funambule:
Acteur      Danse      Apesanteur      Découverte      Cage      Danseuse virtuelle      Modèle      Trapézistes      Applications      Le mime connexionniste

Exemples en C++

        Il n´est pas question de produire le million de lignes d´anyflo, tout à fait inexploitables, voici, à titre d´exemple, le code de l´interface avec le langage C: utilb.c
Plus d´information dans manuel programmeur