Je cherche un algorithme qui distribue aléatoirement un nombre de rectangles (qui sont définis par leur largeur et leur hauteur) à l'intérieur d'un conteneur rectangle. Ce dernier n'est pas défini par sa taille, mais plutôt par son format. Il doit y avoir une autre variable qui détermine la densité du résultat, ou en d'autres termes: la distance moyenne de deux rectangles. Tous les rectangles doivent être placés, ce qui est possible, car le conteneur n'est pas limité en taille. Et il ne doit pas y avoir de chevauchement de rectangles.distribue aléatoirement des rectangles de différentes tailles sur un plan de taille variable (en considérant un degré de densité)
Le résultat final doit être la position déterminée pour chaque rectangle ainsi que la taille du plan utilisé lui-même.
Malheureusement, je ne pouvais pas trouver un algorithme qui fait cela, ou des parties de celui-ci jusqu'à présent. J'apprécierais n'importe quelles suggestions, commentaires ou références! Il s'avère que le principal problème est de garder trace d'une liste des "espaces libres", qui est mise à jour après chaque placement en conséquence.
Dans le cas réel, j'ai besoin de cela pour, les rectangles donnés ne sont pas complètement au hasard. Ils ont presque la même taille et tendent à être beaucoup plus larges que hauts: ce ne sont que des mots tirés d'un texte qui devrait être distribué sur un plan comme un «nuage».
Je commencerais par un texte à simple interligne justifié au centre. Puis écartez les mots. Vous pouvez utiliser différentes formules d'étalement pour obtenir différents effets: circulaire, ovale, rectangulaire, arc-en-ciel. Mais l'idée générale est toujours la même, plus un mot vient du centre, plus il doit bouger. – user3386109