Chciałbym wdrożyć wtyczkę Maya (to pytanie jest niezależne od Mayi), aby tworzyć wzory 3D Voronoi, coś w stylu
Wiem tylko, że muszę zacząć od próbkowania punktowego (zaimplementowałem adaptacyjny algorytm próbkowania Poissona opisany w tym artykule ).
Pomyślałem, że z tych punktów powinienem utworzyć drut 3D siatki za pomocą Voronoi (próbowałem użyć (Python) scipy.spatial.Voronoi, ale wynik był inny niż się spodziewałem).
Czegoś mi brakuje? Czy ktoś może zasugerować odpowiedni potok i algorytmy, które muszę wdrożyć, aby stworzyć takie wzorce?
[EDYCJA] Oto kilka przykładów tego, co dostaję, radząc sobie z rezultatem, który otrzymuję z scipy.spatial.Voronoi, jak to (jak sugerowano tutaj ):
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())
Szare wierzchołki są próbkowanymi punktami (pierwotny kształt był prostą kulą):
Odpowiedzi:
http://www.cs.sandia.gov/~samitch/papers/vor_final.pdf W żadnym języku programowania nie ma algorytmu komputerowego, ale powinieneś być w stanie łatwo go replikować za pomocą niektórych odbić płaszczyzny i algorytmów z powyżej linku.
źródło