1/ C'est quoi un
<div> ?
2/ Mettre des rectangle dans un triangle, c'est vraiment n'importe quoi.
Pourtant, les deux mots-clé qui permettent de trouver le troisième, et donc je pense la solution, ont déjà été cités (
je pense, puisque je ne sais pas ce qu'est exactement un
<div>) :
Triangle + récursivité -> Sierpinski
Plus exactement, il faut faire un
Sierpinski inverse : l'algorithme de Sierpinski sert à vider un triangle de manière fractale (donc récursive, forcément), l'algorithme inverse sert à en remplir un.
Les seules fonctions nécessaires sont
Tracer_Triangle (uniquement la frontière),
Trouver_Sous_Triangles,
Fonction_Recursive (qui utilise les deux premières), et
main (pour initialiser les paramètres).
D'ailleurs, les deux premières fonctions sont tellement simples, et utilisées une seule fois dans
Fonction_Recursive, qu'il n'est même pas nécessaire d'en faire des procédures séparées, et qu'il vaut mieux les implémenter directement dans
Fonction_Recursive pour limiter les appels de sous-fonctions.
Inconvénient : c'est une fonction récursive, et comme je n'ai pas compris cette histoire de concaténation de <div>, peut-être que ce sera pire que maintenant.
Avantage : pour les triangles très pointus, si la frontière est déjà tracée, on peut avoir près du sommet un ou deux pixels isolés de l'espace central, ce qui ne permet pas d'utiliser l'autre algorithme récursif que j'ai déjà testé en TI-Basic, celui du remplissage d'une zone vide, comme avec le seau de peinture de Paint.
Si tu tiens vraiment à tester le Sierpinski inverse et que tu as des problèmes avec la rédaction de l'algorithme, fais-moi signe.
Quoi qu'il en soit, ce que tu as fait est magnifique !
@++