download_portfolio_etienne_loechner_2026_2027

Ce site web regroupe un ensemble de processus de tramage. Ils ont été codés
à l'aide de P5.js. Ces trames ne sont pas basées sur une littérature scientifique rigoureuse,
elles sont nées de jeux abstraits, de hasard et d'une envie de combiner
chacune d'entre elles.
Je travaille actuellement sur d'autres trames que j'espère pouvoir rendre disponible
dans peu de temps. Vous êtes libres d'utiliser les images produites
par les générateurs comme bon vous semble. Si vous le faites, n'hésitez pas à me taguer
@etienneloec ou à m'envoyer vos productions à etienneloec@gmail.com
L'ensemble du code est accessible ici. Si vous souhaitez plus de détails concernant les processus,
j'ai ajouté des explications partielles des processus ici
Vous trouverez ici une expérimentation autour des automate de wolfram inspiré par pure data.

ensemble_des_processus_d_edition

pavage_regulier

Le programme parcourt les images de gauche à droite et de bas en haut selon "Stepsize-width" (la largeur) et "Stepsize-height" (la hauteur). Pour le dire aurement: il réalise un quadrillage de l'image qu'il parcourt ensuite.

applat_couleur_moyenne

À chaque step (étape) le programme récupère les valeurss de chaque pixel contenus dans le rectangle précédemment défini par "Stepsize-width" (la largeur) et "Stepsize-height" (la hauteur), il réalise une moyenne et dessine à l'emplacement un rectangle qui a pour valeur cette moyenne.

applat_couleur_moyenne

motif

À chaque step (étape) le programme récupère les valeurss de chaque pixel contenus dans le rectangle précédemment défini par "Stepsize-width" (la largeur) et "Stepsize-height" (la hauteur) puis réalise une moyenne. Il consulte ensuite un registre "rules" qui associe pour chaque tranche de luminosité une valeur positive ou négative. En fonction de ce registre et de cette moyenne il choisit ou non de dessiner un motif.

Si la valeur est positive en fonction de "line_thickness" (l'épaisseur de ligne) le programme dessine une croix au milieu.

croix_milieux_case croix_milieux_case

Si la valeur est positive en fonction de "line_thickness" (l'épaisseur de ligne) le programme dessine les diagonales du rectangle.

cross_diagonal cross_diagonal

densite_de_particule

À chaque step (étape) le programme récupère les valeurss de chaque pixel contenus dans le rectangle précédemment défini par "Stepsize-width" (la largeur) et "Stepsize-height" (la hauteur) puis réalise une moyenne. Il consulte ensuite un registre "rules" qui associe pour chaque tranche de luminosité une quantité de particules. En fonction de ce registre et de cette moyenne il dessine dans la case une certaine quantité de particules.

Les particules sont des pixels, leur taille est définie par "Taille des particules height" (hauteur) et "Taille des particules width" (largeur).

pixel pixels

orientation_dynamique

On garde en mémoire un registre "particules" de chaques particules et de leur emplacement. Ensuite on propose 3 options pour définir l'orientation des particules.
1 - Rotation brightness qui établie un rapport entre la luminosité d'une zone de l'image qui contient une particule et l'orientation de cette même particule.
2 - Rotation détail qui établie un rapport entre le détail d'une zone de l'image qui contient une particule et l'orientation de cette même particule.
3 - Rotation noise qui produit une "map" (quadrillage) parallèle dans les dimensions à celle de l'image et la remplit de valeurs aléatoires qui se suivent plus ou moins en fonction de "Noise angle level", fonction qui lisse plus ou moins les valeurs. Ensuite, on établit un rapport entre les valeurss à un emplacement de cette map et l'orientation d'une particule au même emplacement sur l'image.

On dessine des points comme particules selon "Taille des particules height" (hauteur) et "Taille des particules width".

point point

influence_automate_cellulaire

On considère chaque case du quadrillage comme les cases d'un automate cellulaire. On établit l'ensemble des configurations initiales et résultantes, puis on classe l'ensemble des tables de transitions de celles possédant le plus de configurations résultantes positives à celles en possédant le moins. (Une tabble de transition décrit toutes les correspondances entre la configuration des cases à l'étape n et la nouvelle configuration à n+1). De cette manière on obtient une échelle de valeur qu'on peut utiliser comme echelle de luminosité.

On établit une correspondance entre les différentes tables de transition et les zones de luminosité de l'image. On fait jouer un automate cellulaire pour lequel les règles varient en fonction de la case.

wolframe_automata_2D wolframe_automata_2D

exploration

On vient déposer sur l'image un ensemble de fourmis selon "point de départ", chaque itération les fourmis font un enfant ou non selon nb_childs, cet enfant se déplace en fonction des itinéraires disponibles définis dans itinéraire et en évitant les emplacements déjà occupés par une fourmi dans profondeur_memoire, profondeur mémoire ne contient pas un nombre infini de mémoire. Quand une fourmille passe sur une case le programme traite la case.

aleatoire

Les fourmis ne privilégient pas un chemin particulier.

Pour chaque case, le programme récupère les valeurss de chaque pixel contenus dans le rectangle précédemment défini par "Stepsize-width" (la largeur) et "Stepsize-height" (la hauteur), il réalise une moyenne et dessine à l'emplacement un rectangle qui a pour valeur cette moyenne.

applat_couleur_moyenne applat_couleur_moyenne

motif

À chaque step (étape) le programme récupère les valeurss de chaque pixel contenus dans le rectangle précédemment défini par "Stepsize-width" (la largeur) et "Stepsize-height" (la hauteur) puis réalise une moyenne. Il consulte ensuite un registre "rules" qui associe pour chaque tranche de luminosité une valeur positive ou négative. En fonction de ce registre et de cette moyenne il choisit ou non de dessiner un motif.

Si la valeur est positive en fonction de "line_thickness" (l'épaisseur de ligne) le programme dessine une croix au milieu.

croix_milieux_case croix_milieux_case

Si la valeur est positive en fonction de "line_thickness" (l'épaisseur de ligne) le programme dessine les diagonales du rectangle.

diagonal_case diagonal_case

densite_de_particule

Les particules sont des pixels, leur taille est définie par "Taille des particules height" (hauteur) et "Taille des particules width" (largeur).

pixels

coming_soon

orientation_dynamique

On garde en mémoire un registre "particules" de chaques particules et de leur emplacement. Ensuite on propose 3 options pour définir l'orientation des particules.
1 - Rotation brightness qui établie un rapport entre la luminosité d'une zone de l'image qui contient une particule et l'orientation de cette même particule.
2 - Rotation détail qui établie un rapport entre le détail d'une zone de l'image qui contient une particule et l'orientation de cette même particule.
3 - Rotation noise qui produit une "map" (quadrillage) parallèle dans les dimensions à celle de l'image et la remplit de valeurs aléatoires qui se suivent plus ou moins en fonction de "Noise angle level", fonction qui lisse plus ou moins les valeurs. Ensuite, on établit un rapport entre les valeurss à un emplacement de cette map et l'orientation d'une particule au même emplacement sur l'image.

point

coming_soon

influence_automate_cellulaire

On considère chaque case du quadrillage comme les cases d'un automate cellulaire. On établit l'ensemble des configurations initiales et résultantes, puis on classe l'ensemble des tables de transitions de celles possédant le plus de configurations résultantes positives à celles en possédant le moins. (Une tabble de transition décrit toutes les correspondances entre la configuration des cases à l'étape n et la nouvelle configuration à n+1). De cette manière on obtient une échelle de valeur qu'on peut utiliser comme echelle de luminosité.

On établit une correspondance entre les différentes tables de transition et les zones de luminosité de l'image. On fait jouer un automate cellulaire pour lequel les règles varient en fonction de la case.

wolframe_automata_2D

coming_soon

guidee_par_frequence_detail

Les fourmis privilégient les zones de l'image avec beaucoup de détails.

À chaque step (étape) le programme récupère les valeurss de chaque pixel contenus dans le rectangle précédemment défini par "Stepsize-width" (la largeur) et "Stepsize-height" (la hauteur), il réalise une moyenne et dessine à l'emplacement un rectangle qui a pour valeur cette moyenne.

applat_couleur_moyenne applat_couleur_moyenne

motif

À chaque step (étape) le programme récupère les valeurss de chaque pixel contenus dans le rectangle précédemment défini par "Stepsize-width" (la largeur) et "Stepsize-height" (la hauteur) puis réalise une moyenne. Il consulte ensuite un registre "rules" qui associe pour chaque tranche de luminosité une valeur positive ou négative. En fonction de ce registre et de cette moyenne il choisit ou non de dessiner un motif.

Si la valeur est positive en fonction de "line_thickness" (l'épaisseur de ligne) le programme dessine une croix au milieu.

croix_milieux_case croix_milieux_case

Si la valeur est positive en fonction de "line_thickness" (l'épaisseur de ligne) le programme dessine les diagonales du rectangle.

diagonal_case diagonal_case

densite_de_particule

Les particules sont des pixels, leur taille est définie par "Taille des particules height" (hauteur) et "Taille des particules width" (largeur).

pixels pixels

orientation_dynamique

On garde en mémoire un registre "particules" de chaques particules et de leur emplacement. Ensuite on propose 3 options pour définir l'orientation des particules.
1 - Rotation brightness qui établie un rapport entre la luminosité d'une zone de l'image qui contient une particule et l'orientation de cette même particule.
2 - Rotation détail qui établie un rapport entre le détail d'une zone de l'image qui contient une particule et l'orientation de cette même particule.
3 - Rotation noise qui produit une "map" (quadrillage) parallèle dans les dimensions à celle de l'image et la remplit de valeurs aléatoires qui se suivent plus ou moins en fonction de "Noise angle level", fonction qui lisse plus ou moins les valeurs. Ensuite, on établit un rapport entre les valeurss à un emplacement de cette map et l'orientation d'une particule au même emplacement sur l'image.

point

coming_soon

influence_automate_cellulaire

On considère chaque case du quadrillage comme les cases d'un automate cellulaire. On établit l'ensemble des configurations initiales et résultantes, puis on classe l'ensemble des tables de transitions de celles possédant le plus de configurations résultantes positives à celles en possédant le moins. (Une tabble de transition décrit toutes les correspondances entre la configuration des cases à l'étape n et la nouvelle configuration à n+1). De cette manière on obtient une échelle de valeur qu'on peut utiliser comme echelle de luminosité.

On établit une correspondance entre les différentes tables de transition et les zones de luminosité de l'image. On fait jouer un automate cellulaire pour lequel les règles varient en fonction de la case.

wolframe_automata_2D

coming_soon

guidee_par_luminosite

Les fourmis privilégient les zones de l'image les plus sombres.

À chaque step (étape) le programme récupère les valeurss de chaque pixel contenus dans le rectangle précédemment défini par "Stepsize-width" (la largeur) et "Stepsize-height" (la hauteur), il réalise une moyenne et dessine à l'emplacement un rectangle qui a pour valeur cette moyenne.

applat_couleur_moyenne applat_couleur_moyenne

motif

À chaque step (étape) le programme récupère les valeurss de chaque pixel contenus dans le rectangle précédemment défini par "Stepsize-width" (la largeur) et "Stepsize-height" (la hauteur) puis réalise une moyenne. Il consulte ensuite un registre "rules" qui associe pour chaque tranche de luminosité une valeur positive ou négative. En fonction de ce registre et de cette moyenne il choisit ou non de dessiner un motif.

Si la valeur est positive en fonction de "line_thickness" (l'épaisseur de ligne) le programme dessine une croix au milieu.

croix_milieux_case croix_milieux_case

Si la valeur est positive en fonction de "line_thickness" (l'épaisseur de ligne) le programme dessine les diagonales du rectangle.

diagonal_case diagonal_case

densite_de_particule

Les particules sont des pixels, leur taille est définie par "Taille des particules height" (hauteur) et "Taille des particules width" (largeur).

pixels pixels

orientation_dynamique

On garde en mémoire un registre "particules" de chaques particules et de leur emplacement. Ensuite on propose 3 options pour définir l'orientation des particules.
1 - Rotation brightness qui établie un rapport entre la luminosité d'une zone de l'image qui contient une particule et l'orientation de cette même particule.
2 - Rotation détail qui établie un rapport entre le détail d'une zone de l'image qui contient une particule et l'orientation de cette même particule.
3 - Rotation noise qui produit une "map" (quadrillage) parallèle dans les dimensions à celle de l'image et la remplit de valeurs aléatoires qui se suivent plus ou moins en fonction de "Noise angle level", fonction qui lisse plus ou moins les valeurs. Ensuite, on établit un rapport entre les valeurss à un emplacement de cette map et l'orientation d'une particule au même emplacement sur l'image.

influence_automate_cellulaire

On considère chaque case du quadrillage comme les cases d'un automate cellulaire. On établit l'ensemble des configurations initiales et résultantes, puis on classe l'ensemble des tables de transitions de celles possédant le plus de configurations résultantes positives à celles en possédant le moins. (Une tabble de transition décrit toutes les correspondances entre la configuration des cases à l'étape n et la nouvelle configuration à n+1). De cette manière on obtient une échelle de valeur qu'on peut utiliser comme echelle de luminosité.

On établit une correspondance entre les différentes tables de transition et les zones de luminosité de l'image. On fait jouer un automate cellulaire pour lequel les règles varient en fonction de la case.

wolframe_automata_2D

coming_soon

subdivision_recursive

On divise récursivement l'image en sous-régions jusqu'à atteindre un certain niveau de détail. la plus petite unité est définie par "Stepsize-width" (la largeur) et "Stepsize-height" (la hauteur) tandis que le niveau de profondeur est défini par "deep" (profondeur)

guidee_par_frequence_detail

On établit une correspondance entre le niveau de détail d'une zone et le choix de la diviser

À chaque step (étape) le programme récupère les valeurss de chaque pixel contenus dans le rectangle précédemment défini par "Stepsize-width" (la largeur) et "Stepsize-height" (la hauteur), il réalise une moyenne et dessine à l'emplacement un rectangle qui a pour valeur cette moyenne.

applat_couleur_moyenne applat_couleur_moyenne

motif

À chaque step (étape) le programme récupère les valeurss de chaque pixel contenus dans le rectangle précédemment défini par "Stepsize-width" (la largeur) et "Stepsize-height" (la hauteur) puis réalise une moyenne. Il consulte ensuite un registre "rules" qui associe pour chaque tranche de luminosité une valeur positive ou négative. En fonction de ce registre et de cette moyenne il choisit ou non de dessiner un motif.

Si la valeur est positive en fonction de "line_thickness" (l'épaisseur de ligne) le programme dessine une croix au milieu.

croix_milieux_case croix_milieux_case

Si la valeur est positive en fonction de "line_thickness" (l'épaisseur de ligne) le programme dessine les diagonales du rectangle.

diagonal_case diagonal_case

densite_de_particule

Les particules sont des pixels, leur taille est définie par "Taille des particules height" (hauteur) et "Taille des particules width" (largeur).

pixels pixels

orientation_dynamique

On garde en mémoire un registre "particules" de chaques particules et de leur emplacement. Ensuite on propose 3 options pour définir l'orientation des particules.
1 - Rotation brightness qui établie un rapport entre la luminosité d'une zone de l'image qui contient une particule et l'orientation de cette même particule.
2 - Rotation détail qui établie un rapport entre le détail d'une zone de l'image qui contient une particule et l'orientation de cette même particule.
3 - Rotation noise qui produit une "map" (quadrillage) parallèle dans les dimensions à celle de l'image et la remplit de valeurs aléatoires qui se suivent plus ou moins en fonction de "Noise angle level", fonction qui lisse plus ou moins les valeurs. Ensuite, on établit un rapport entre les valeurss à un emplacement de cette map et l'orientation d'une particule au même emplacement sur l'image.

influence_automate_cellulaire

On considère chaque case du quadrillage comme les cases d'un automate cellulaire. On établit l'ensemble des configurations initiales et résultantes, puis on classe l'ensemble des tables de transitions de celles possédant le plus de configurations résultantes positives à celles en possédant le moins. (Une tabble de transition décrit toutes les correspondances entre la configuration des cases à l'étape n et la nouvelle configuration à n+1). De cette manière on obtient une échelle de valeur qu'on peut utiliser comme echelle de luminosité.

On établit une correspondance entre les différentes tables de transition et les zones de luminosité de l'image. On fait jouer un automate cellulaire pour lequel les règles varient en fonction de la case.

wolframe_automata_2D

coming_soon

guidee_par_luminosite

On établit une correspondance entre le niveau de luminosité d'une zone et le choix de la diviser

À chaque step (étape) le programme récupère les valeurss de chaque pixel contenus dans le rectangle précédemment défini par "Stepsize-width" (la largeur) et "Stepsize-height" (la hauteur), il réalise une moyenne et dessine à l'emplacement un rectangle qui a pour valeur cette moyenne.

applat_couleur_moyenne applat_couleur_moyenne

motif

À chaque step (étape) le programme récupère les valeurss de chaque pixel contenus dans le rectangle précédemment défini par "Stepsize-width" (la largeur) et "Stepsize-height" (la hauteur) puis réalise une moyenne. Il consulte ensuite un registre "rules" qui associe pour chaque tranche de luminosité une valeur positive ou négative. En fonction de ce registre et de cette moyenne il choisit ou non de dessiner un motif.

Si la valeur est positive en fonction de "line_thickness" (l'épaisseur de ligne) le programme dessine une croix au milieu.

croix_milieux_case croix_milieux_case

Si la valeur est positive en fonction de "line_thickness" (l'épaisseur de ligne) le programme dessine les diagonales du rectangle.

diagonal_case diagonal_case

densite_de_particule

Les particules sont des pixels, leur taille est définie par "Taille des particules height" (hauteur) et "Taille des particules width" (largeur).

pixels pixels

orientation_dynamique

On garde en mémoire un registre "particules" de chaques particules et de leur emplacement. Ensuite on propose 3 options pour définir l'orientation des particules.
1 - Rotation brightness qui établie un rapport entre la luminosité d'une zone de l'image qui contient une particule et l'orientation de cette même particule.
2 - Rotation détail qui établie un rapport entre le détail d'une zone de l'image qui contient une particule et l'orientation de cette même particule.
3 - Rotation noise qui produit une "map" (quadrillage) parallèle dans les dimensions à celle de l'image et la remplit de valeurs aléatoires qui se suivent plus ou moins en fonction de "Noise angle level", fonction qui lisse plus ou moins les valeurs. Ensuite, on établit un rapport entre les valeurss à un emplacement de cette map et l'orientation d'une particule au même emplacement sur l'image.

influence_automate_cellulaire

On considère chaque case du quadrillage comme les cases d'un automate cellulaire. On établit l'ensemble des configurations initiales et résultantes, puis on classe l'ensemble des tables de transitions de celles possédant le plus de configurations résultantes positives à celles en possédant le moins. (Une tabble de transition décrit toutes les correspondances entre la configuration des cases à l'étape n et la nouvelle configuration à n+1). De cette manière on obtient une échelle de valeur qu'on peut utiliser comme echelle de luminosité.

On établit une correspondance entre les différentes tables de transition et les zones de luminosité de l'image. On fait jouer un automate cellulaire pour lequel les règles varient en fonction de la case.

wolframe_automata_2D

coming_soon