Website powered by

Chaos Game

Nieoczywiste rezultaty „gry w chaos” jako przykład prostej iteracji z elementem probabilistycznym budującym w zupełnie niezależny sposób struktury samo-podobne typu „trójkąt Sierpińskiego”. Klasyczne generowanie „Trójkąta Sierpińskiego” polega na sprzężeniu zwrotnym maszyny kopiującej i pomniejszającej. Tymczasem w przypadku „gry w chaos” otrzymuje się go zupełnie niezależnie na zasadzie trajektorii podróżującego punktu, którego kierunek ustala rzut kostką, a długość odcinka przesunięcia jest ustalany przez oddzielny parametr (np. 2 dla trójkąta, 3 dla kwadratu).
Ponieważ Geometry Nodes w Blenderze nie radzą sobie ze swobodnie definiowanymi iteracjami, ani warunkowaniem, dlatego w tym przypadku napisałem prosty program w języku Python, gdzie mogłem zadać nawet 50.000 kroków takiej gry.
Przy okazji zwraca uwagę fakt, jakim wygodnym (i uniwersalnym) narzędziem jest Blender, który może swobodnie służyć za interfejs programistyczny, zarówno przez namiastkę wizualnego programowania (GN) jak i czystego programowania (jak w tym przypadku). Taki interfejs ma tę dodatkową zaletę, iż dodatkowo oferuję przestrzeń 3D do realizacji kodów, których outputem ma być jakakolwiek wynikowa treść o charakterze przestrzennym.

"Gra w chaos" dla przypadku ośmiu punktów o rozmieszczeniu sześciennym. 50k iteracji.

"Gra w chaos" dla przypadku ośmiu punktów o rozmieszczeniu sześciennym. 50k iteracji.

"Gra w chaos" dla przypadku ośmiu punktów o rozmieszczeniu sześciennym. 50k iteracji. o każdego punktu doczepiona geometria dla lepszej wizualizacji renderu.

"Gra w chaos" dla przypadku ośmiu punktów o rozmieszczeniu sześciennym. 50k iteracji. o każdego punktu doczepiona geometria dla lepszej wizualizacji renderu.

Zasady "gry w chaos". Rysunek z książki "Fraktale - granice chaosu" - Heinz-Otto Peitgen, Dietmar Saupe i inn.

Zasady "gry w chaos". Rysunek z książki "Fraktale - granice chaosu" - Heinz-Otto Peitgen, Dietmar Saupe i inn.

"Gra w chaos" przeniesiona na język Python z użyciem API Blendera. 20k iteracji.

"Gra w chaos" przeniesiona na język Python z użyciem API Blendera. 20k iteracji.

Wynikowa polilinia - punkty z przemieszczeniami. Scena 3D Blender.

Wynikowa polilinia - punkty z przemieszczeniami. Scena 3D Blender.

Trójkąt Sierpińsiego jako efekt "gry w chaos".

Trójkąt Sierpińsiego jako efekt "gry w chaos".

Trójkąt Sierpińsiego jako efekt "gry w chaos".

Trójkąt Sierpińsiego jako efekt "gry w chaos".

Szum uzyskany w wyniku "gry w chaos" nie dający struktur samo-powtarzalnych Sierpińskiego w wyniku zadania innego parametru dzielenia odległości (tutaj 2).

Szum uzyskany w wyniku "gry w chaos" nie dający struktur samo-powtarzalnych Sierpińskiego w wyniku zadania innego parametru dzielenia odległości (tutaj 2).

"Gra w chaos" przeniesiona na język Python ze urzyciem API Blendera. 50k iteracji dla 8 punktow szescianu foremnego.

"Gra w chaos" przeniesiona na język Python ze urzyciem API Blendera. 50k iteracji dla 8 punktow szescianu foremnego.

Wynik 50000 iteracji 8 punktów sześcianu foremnego. Do każdego punktu doczepiona geometria dla lepszej wizualizacji renderu.

Wynik 50000 iteracji 8 punktów sześcianu foremnego. Do każdego punktu doczepiona geometria dla lepszej wizualizacji renderu.