Strona głównaArtykułyMandelbulb

Operacja Potęgowa Mandelbulba: Jak Znalaziono Wreszcie Trójwymiarowy Analizator Mandelbrota

Uogólniona operacja potęgowania liczb triplexowych, która rozszerza z → z² + c na trzy wymiary, dlaczego n = 8 jest kanonicznym Mandelbulbem oraz jak jego estymator odległości analityczny sprawia, że raymarching stało się możliwe.

mysimulator teamZaktualizowano — czerwiec 2026≈ 7 min czytania▶ Otwórz symulację

Rozszerzanie zbioru Mandelbrota do trzech wymiarów

Klasyczny zbiór Mandelbrota tworzy się na podstawie jednego reguły stosowanej do liczb zespolonych: powtarzane kwadratowanie punktu z i dodawanie punktu początkowego c, a następnie obserwacja, czy sekwencja pozostaje ograniczona lub ucieka w nieskończoność. Ta reguła istnieje naturalnie w dwóch wymiarach, ponieważ liczby zespolone tworzą dwuwymiarową system liczb. Nie ma trójwymiarowego systemu liczb o tak samych prostej algebraicznej własnościach, dlatego prosty rozszerzeni do trzech wymiarów nie istnieje — co jest dokładnie przyczyną, dla której pracowalna wersja 3D, Mandelbulb, nie została znaleziona aż do 2009 roku, odkryta przez Daniela White'a i Paula Nylander'a po latach poszukiwań w społeczności fraktalistycznej.

demo na żywo · powiązana symulacja● LIVE

Triplekskie liczby i ogólne potęgowanie

Ich rozwiązanie traktuje punkt w przestrzeni trójwymiarowej jako liczbę triplexową w postaci sfericznej, a następnie definiuje na niej operację ogólnej potęgowania, która redukuje się do zwykłego kwadratowania zespolonego w przypadku ograniczenia do przekroju dwuwymiarowego. Dla punktu o promieniu sferycznym r, kącie polarnym θ i kącie azymutalnym φ, podnoszenie go do n-tej potęgi skali promień do r^n i pomnoży oba kąty przez n, a następnie przekształca je z powrotem do współrzędnych kartezjańskich:

potęgowanie triplexowe (postać sferyczna): r' = r^n θ' = n × θ φ' = n × φ temiz: z_next = (potęgowanie triplexowe z) + c, iterowane dokładnie tak jak w przypadku Mandelbrota dwuwymiarowego z → z² + c Dla n = 2 ta operacja nie jest identyczna z potęgowaniem kwaternionowym lub innymi historycznymi próbowaniami rozszerzenia na przestrzeń trójwymiarową — została ona konstruowana w celu wygenerowania struktury bogatej, bulbozawowej i samopodobnej. Standardowa, najbardziej znaną Mandelbulb używa n = 8, co prowadzi do owalnych, organicznych lobów, które większość obrazów tego typu pokazuje.

triplex power (spherical form):
r' = r^n
θ' = n × θ
φ' = n × φ
then: z_next = (triplex power of z) + c,   iterated exactly like the 2D Mandelbrot's z → z² + c

Renderowanie: szacowanie odległości zamiast wielokątów

Nie można bezpośrednio siatkować granicy Mandelbulba — jest to niemal nieskończenie szczegółowy fraktal, dla którego nie ma prostej aproksymacji wielokątowej — zatem renderowany jest za pomocą raymarchingu szacowanego funkcji odległości zamiast rysowania trójkątów. Dla każdego piksela odbijany jest promień od kamery, a następnie powtarzane jest przesuwanie go o szacowana odległość do najbliższej powierzchni, co jest bezpieczne, ponieważ szacowanie jest granicznym ograniczeniem: krok o tą samą odległość nigdy nie może przekroczyć powierzchni. W przypadku Mandelbulba, ta szacowana odległość na piksel jest wyliczana analitycznie z iteracji czasu ucieczki:

de = 0.5 × log(r) × r / dr r = bieżący promień ucieczki |z| po pętli iteracji dr = bieżąca pochodna |z| akumulowana wraz z każdym krokiem iteracji przesuń promień o de; powtarzaj, aż odległość de będzie mniejsza niż próg (trafia) lub promień ucieczki Jest to taka sama technika jak sphere tracing używana do renderowania każdego innego fraktalu analitycznego i powierzchni niejawnych na tej stronie — konwertuje ona powierzchnię zdefiniowaną równaniem na obraz bez potrzeby wcześniejszego znalezienia kształtu powierzchni.

de = 0.5 × log(r) × r / dr
   r  = current escaped radius |z| after the iteration loop
   dr = running derivative of |z| accumulated alongside each iteration
   step the ray forward by de; repeat until de is smaller than a threshold (hit) or the ray escapes

Co rzeczywiście zmienia przycisk mocy

Bo n progresywnie skaluje szybkość wzrostu promienia i obu kątów w każdej iteracji, zmiana n wpływa zarówno na liczbę łopatek wokół kształtu, jak i głębokość rekurencji szczegółów powierzchniowej przed ucieczką do nieskończoności. Niskie wartości n bliskie 2 tworzą mniej samospodobne, gładkie i bardziej kuliste kształty bliższe esencji sfery; klasyczna wartość n = 8 tworzy znany wielokątowy błąd. Podnoszenie wartości n dodaje więcej, skórzanych łopatek oraz szczegółowe, powtarzalne szczegóły powierzchniowe, co kosztuje się potrzebą większej liczby kroków raymarchingu i szerszego próg odległości do uzyskania czystego rozwiązania, ponieważ powierzchnia staje się w lokalnym zakresie ostrojsza w stosunku do tej samej liczby iteracji.

Często zadawane pytania

Dlaczego 3D zestaw Mandelbrota nie został znaleziony aż do 2009 roku, kilkaset lat po wersji 2D?

Złożone liczby dają naturalną strukturę algebraiczną zestawowi Mandelbrota 2D — mnożenie i dodawanie są dobrze zdefiniowanymi operacjami, które zachowują kąty i skali sensownie. Nie istnieje równoważna system liczbowy w trzech wymiarach z takimi samymi własnościami, dlatego proste 3D analogie nie wynikają z matematyki tak jak w przypadku 2D; Mandelbulb to zamiast tego zmyślonie uogólnione działanie potęgowania zaprojektowane do tworzenia porównywalnie bogatej fraktali, a nie bezpośrednia rozszerzenie algebraiczne.

Dlaczego Mandelbulb jest renderowany metodą raymarching zamiast budowania 3D siatki?

Granica jego powierzchni to nieskończenie szczegółowa fraktalna powierzchnia bez bezpośredniej aproksymacji wielokątowej, dlatego nie ma czegoś do meshingu. Metoda raymarching zamiast tego przesuwa każdy piksel o odległość wyznaczoną na podstawie iteracji czasu ucieczki, bezpiecznie zbliżając się do powierzchni stopniowo bez potrzeby listy wierzchołków.

Jak wpływa zmiana wartości n na kształt?

Zmienia ona szybkość wzrostu promienia i kątów podczas każdej iteracji, co wpływa zarówno na liczbę łopatek, jak i na ilość szczegółowej fraktalnej detali przed ucieczką. Canoniczny Mandelbulb używa wartości n = 8; niższe wartości wyglądają bardziej kuliste i mniej szczegółowe, a wyższe wartości zawierają więcej, skórzanych łopatek oraz lepszej szczegółowości powierzchni.

Wypróbuj na żywo

Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Mandelbulb 3D Fractal i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.

▶ Otwórz symulację Mandelbulb 3D Fractal

Co znalazłeś?

Dodaj kroki odtworzenia (opcjonalnie)