Sujet : Algèbre linéaire et string art
De : julien.arlandis (at) *nospam* gmail.com (Julien Arlandis)
Groupes : fr.sci.mathsDate : 19. Jan 2025, 12:00:37
Autres entêtes
Organisation : Nemoweb
Message-ID : <A9bEoEV28vfRo7310cGKP1UxNmk@jntp>
User-Agent : Nemo/1.0
Bonjour,
J'essaye de développer un algorithme rapide et efficace pour représenter des images en niveaux de gris par le string art. Il s'agit de relier un ensemble de points (généralement matérialisés par des clous plantés dans une planche) par un fil tendu jusqu'à s'approcher au plus près de l'image désirée. Pour la suite, on considèrera que les points sont régulièrement espacés sur un cercle de rayon R.
Intuitivement, on peut être tenté de modéliser le problème par un espace vectoriel constitué des N(N-1)/2 segments formés par chaque paire de points. Cette idée est plus rigoureusement exprimée dans cette vidéo :
<
https://www.youtube.com/watch?v=WGccIFf6MF8>
Sous cette approche, le problème se modélise par l'équation matricielle :
somme(a_i * x_i) = b
où a_i est le i ème vecteur (image matricielle du segment i)
x_i est le nombre de fils reliant le segment i
b l'image à atteindre.
Sachant que la famille de vecteurs a_i ne forment pas une famille génératrice complète, (il est facile à comprendre qu'une image constituée d'un cadre blanc périphérique ne pourra pas être générée sans assombrir la partie blanche), quelle est la limite et la pertinence de cette approche ?
Pour ma part j'ai commencé à coder une méthode itérative qui consiste à partir d'un point arbitraire pour relier le point dont le segment s'approche au plus près de l'image à construire. Ce n'est pas assez satisfaisant car en comparant le résultat avec d'autres programmes, le rendu est légèrement moins esthétique. Vous pouvez essayer l'un de ces programmes en ligne :
<
https://halfmonty.github.io/StringArtGenerator/>
-- Ce message a été posté avec Nemo : <https://nemoweb.net/?DataID=A9bEoEV28vfRo7310cGKP1UxNmk@jntp>