Bonjour,

Voici le problème que je dois résoudre (sous Matlab):

J'ai N sphères de rayons différents, que je dois positionner aléatoirement dans un cube, sans recouvrements.

J'ai un premier algorithme qui consiste:
- à placer une sphère aléatoirement (en générant les coordonnées de son centre avec Rand)
- on place la deuxième, s'il y a recouvrement on génère une nouvelle position
- ...
- On place la n-ième sphère, on boucle sur les n-1 précédents, dès qu'il y a recouvrement on stop et on génère une nouvelle position qu'on teste à nouveau.

Sauf que voilà, j'aimerai tester un grand nombre de sphère (N de l'ordre de 10 000 voire plus), et que ça prend un certain temps, j'aimerai donc savoir s'il y avait un algorithme plus rapide. Je pensais par exemple, au lieu de placer une sphère aléatoirement dans le cube, la placer aléatoirement dans une position possible (à peu de choses près, placer son centre n'importe où sauf dans l'espace déjà occupé par une autre sphère, augmenté du rayon de la sphère), ce qui permettrais d'éviter la boucle sur toutes les sphères précédentes.

Le problème, c'est que je ne vois pas comment dire à Matlab "génère un vecteur de taille 3 tel que ce points ne soit pas dans la zone déjà occupé".

Voilà, je sais pas si c'est très clair mais j'espère que quelqu'un pourra m'aider.
Merci d'avance!