Gostaria de implementar um plug-in do Maya (essa pergunta é independente do Maya) para criar padrões 3D Voronoi, algo como
Eu apenas sei que tenho que começar com a amostragem pontual (implementei o algoritmo adaptativo de amostragem de poisson descrito neste artigo ).
Eu pensei que, a partir desses pontos, eu deveria criar o fio 3D da malha aplicando Voronoi (tentei usar (Python) scipy.spatial.Voronoi, mas o resultado foi algo diferente do que eu esperava).
Estou faltando alguma coisa? Alguém pode sugerir o pipeline e algoritmos adequados que tenho que implementar para criar esses padrões?
[EDIT] Aqui estão alguns exemplos do que eu recebo ao lidar com o resultado que recebo do scipy.spatial.Voronoi como este (como sugerido aqui ):
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())
Os vértices cinza são os pontos amostrados (a forma original era uma esfera simples):
Respostas:
http://www.cs.sandia.gov/~samitch/papers/vor_final.pdf Não existe algoritmo de computador em nenhum idioma de programação, mas você deve ser capaz de replicá-lo facilmente com algumas reflexões planas e os algoritmos do acima do link.
fonte