Czy ktoś wie, jak stworzyć algorytm zdolny do wykonania figury tak jak na zdjęciu, gdy otrzyma zestaw określonych punktów (macierz 3D)
algorithms
użytkownik88794
źródło
źródło
Odpowiedzi:
Przybywając tutaj po bitwie, ale ponieważ nie ma jeszcze akceptowanej odpowiedzi i widząc, że @Luke odmawia otrzymania przedstawiciela, na który zasługuje, oto krótkie streszczenie linku, który podał.
Pełny algorytm jest dostępny tutaj:
http://blog.andreaskahler.com/2009/06/creating-icosphere-mesh-in-code.html
Chodzi o to, aby uruchomić siatkę za pomocą prostej metody, która daje kulę z 20 twarzami, a następnie udoskonalać ją, aż będziesz zadowolony.
Bootstrapping kształtu
Zaczynasz od dwudziestościanu . Jak mówi artykuł w Wikipedii, wierzchołki można uzyskać, rysując trzy identyczne i prostopadłe prostokąty. Masz 3 prostokąty, każdy z 4 narożnikami -> 12 wierzchołków.
Ilustracja z Wikipedii:
Na przykład punkty planu Z to (a, b to długości prostokąta):
Teraz nadal musisz znaleźć 20 twarzy. Pozostaje to jako ćwiczenie dla czytelnika: str
Dopracowanie kształtu
Teraz, gdy masz podstawową kulę, możesz chcieć dodać wielokąty. Robisz to za pomocą tego prostego algorytmu:
Aby znaleźć punkt środkowy, przypuszczamy, że chcemy utworzyć kulę jednostkową (środek (0, 0, 0), promień 1).
Przy każdej iteracji może być konieczne odtworzenie twarzy, ale jest to dość łatwe. Każda twarz jest podzielona na cztery:
źródło