Répartitions aléatoires
A force de faire des dessins dans lesquels il fallait disposer aléatoirement des objets sans que ceux-ci soient trop près les uns des autres, j'ai fini par me decider à faire un include qui fournisse toute une gamme de fonctionalités autour de ce thème. En fait le problème revient à placer des sphères dans un volume ou sur une surface sans qu'elles se touchent.
L'include vous permet ainsi de placer des sphères de diamètre variable ou non dans un cube, une sphère, un mesh, et divers autres types de volume. Il permet ensuite de réaliser des opérations de type union, différence ou transformation sur ces ensembles de points. Un autre include est également fourni qui montre une utilisation de ces ensembles de points avec des blobs. Les deux exemples ci-dessous sont ceux fournis avec le zip.
A noter que certaines répartitions, notamment quand il y a beaucoup de points ou quand l'objet à remplir occupe un volume faible dans sa bounding box, sont susceptibles de prendre énormément de temps. Certaines optimisations sont possibles dans l'algorithme, mais je ne prévois pas de les faire prochainement. Il est conseillé d'utiliser la fonctionalité de sauvegarde du fichier de résultat après de longs calculs pour éviter de perdre du temps.
Téléchargement Répartition v1.0
 |
Cette image illustre juste les fonctionalités de base de l'include de répartition aléatoire. Rien de bien méchant. :-)
| Exemples de répartitions simples
| |
|
 |
Cette image illustre une utilisation possible des ensembles de points générés par l'include de répartition. Il utilise pour cela l'autre petit include points_blobs.inc pour générer des objets complexes.
| Exemple d'utilisation des répartitions
| |
|
D'autres images de ce site utilisent également intensivement ces outils.
|
|
|
 |
Une sorte de spécimen de musée, un cerveau creux, vu en coupe.
| Le cerveau
| 12/2004
|
|
|