J'aimerais implémenter un plugin Maya (cette question est indépendante de Maya) pour créer des motifs 3D Voronoi, quelque chose comme
Je sais juste que je dois partir de l'échantillonnage ponctuel (j'ai implémenté l'algorithme d'échantillonnage adaptatif de poisson décrit dans cet article ).
J'ai pensé que, à partir de ces points, je devrais créer le fil 3D du maillage en appliquant Voronoi (j'ai essayé d'utiliser (Python) scipy.spatial.Voronoi mais le résultat était quelque chose de différent de ce que j'attendais).
Il me manque quelque chose? Quelqu'un peut-il suggérer le pipeline et les algorithmes appropriés que je dois implémenter pour créer de tels modèles?
[EDIT] Voici quelques exemples de ce que j'obtiens en gérant le résultat que j'obtiens de scipy.spatial.Voronoi comme ceci (comme suggéré ici ):
vor = Voronoi(points)
for vpair in vor.ridge_vertices:
for i in range(len(vpair) - 1):
if all(x >= 0 for x in vpair):
v0 = vor.vertices[vpair[i]]
v1 = vor.vertices[vpair[i+1]]
create_line(v0.tolist(), v1.tolist())
Les sommets gris sont les points échantillonnés (la forme d'origine était une simple sphère):
Réponses:
http://www.cs.sandia.gov/~samitch/papers/vor_final.pdf Il n'y a pas d'algorithme informatique dans aucune langue de programmation, mais vous devriez pouvoir le répliquer facilement avec des réflexions planes et les algorithmes du lien ci-dessus.
la source