Bonjour,
Je cherche comment m'y prendre pour distribuer un nombre N de points, de façon homogène, dans une surface rectangulaire donnée.
Voici dans quel cadre j'en ai besoin, pour préciser ma question :
Je programme un petit jeu de puzzle. Dans la réalité, pour faire un puzzle, le joueur va commencer par étaler toutes les pièces devant lui, de façon à ce qu'elles soient toutes visibles. Dans mon programme, une partie rectangulaire de l'écran de jeu est prévue pour cela. Au début de la partie, je veux présenter au joueur toutes les pièces, dans le désordre et bien réparties dans cette zone (voir la pièce jointe, la zone rectangulaire y est indiquée en vert).
Une simple distribution aléatoire des pièces n'est pas satisfaisante, car cela peut générer des "amas" de pièces à certains endroits. Je cherche donc la façon de procéder pour que les pièces soient réparties de la façon la plus homogène possible dans le rectangle (même si ensuite je peux rajouter un décalage et une rotation aléatoire pour donner un aspect un peu "fouilli").
Je souhaite trouver un algoritme qui puisse servir dans tous les cas, quelque soit le nombre de pièces, leurs dimensions, et la dimension du rectangle (car ces paramètres varient selon le puzzle choisi et la difficulté du jeu). C'est pour cela qu'il me semble que procéder à une répartition homogène des points centraux de chaque pièce est une bonne idée. Au final, si la taille du rectangle est trop petite pour contenir toutes les pièces sans qu'elles se recouvrent les unes les autres, je saurais au moins que leur recouvrement est minimum.
Est-ce que quelqu'un sait comment je pourrais faire cela, ou me donner des liens intéressants?
Merci bien.
Partager