Jedna forma, cała taxonomia kształtów
W 2003 roku belgijski botanik i inżynier Johan Gielis opublikował uogólnienie superelipsy — samej się uogólnienia elipsy wprowadzonej przez Gabriel Lamé w 1818 roku. Formuła super Gielisa dodaje pojedynczy nowy parametr, m, który określa liczbę łopatek na okręgu, a wynik to jedna równanie polarne, które może rysować koła, kwadraty, gwiazdy, zęby wodza, gwiazdofity i liście kwiatów, zależnie tylko od ośmiu liczb:
r(φ) = ( |cos(mφ/4)/a|^n2 + |sin(mφ/4)/b|^n3 )^(-1/n1) m → symetria rotacyjna: liczba łopatek/płatków na okręgu a,b → skala promienia wzdłuż dwóch osi n1 → ogólne zęby vs. pincja całościowego okręgu n2,n3 → ostrość każdego pojedynczego łopatka Ustaw m = 0 i n1 = n2 = n3 = 2, a forma sprowadza się do idealnego koła. Ustaw m = 4 z odpowiednio ustawionymi n2 i n3, a otrzymujesz superelipsę Lamé — lisciejską interpolację między diamantem, elipsą a zaokrąglonym kwadratem. Podnieś m do 5, 6 lub 12 i ostrość n2/n3, a okrąg rosnie łopatkami, zęby wodza lub ramion gwiazdofity, wszystko z tych samych sześciu symboli.
r(φ) = ( |cos(mφ/4)/a|^n2 + |sin(mφ/4)/b|^n3 )^(-1/n1) m → rotational symmetry: number of lobes/petals around the curve a,b → radius scale along the two axes n1 → overall roundness vs. pinch of the whole curve n2,n3 → sharpness of each individual lobe
Z 2D krzywej do 3D superszaru
Sfera w współrzędnych sferycznych wymaga dwóch niezależnych kątów — kąta polarnego θ, pomiarowanego od podstawy, oraz kąta azymutalnego φ, przeskanowanego po równiku. Wzorzec Gielisa do przekształcenia 2D w 3D polega na ocenie dwóch osobnych superformuł — jednej jako funkcji θ i drugiej jako funkcji φ, każda z własnymi osiem parametrami — i mnożeniu ich promieni dołączając do pojedynczej powierzchni sferycznej:
r1 = superformula(θ) // profil północ-sudano, θ ∈ [-π/2, π/2] r2 = superformula(φ) // profil wschód-zachód, φ ∈ [-π, π] x = r1·cos(θ) · r2·cos(φ) y = r1·cos(θ) · r2·sin(φ) z = r1·sin(θ) Ponieważ dwie profile są niezależne, kształt północ-sudano i kształt wschód-zachód można dostosować oddzielnie: sylwetka gwiazdki z pincem na polach, obrotowy torus, kryształ z wierzchołkami lub flutowany, gwoździkowaty objętość. To dokładnie rodzina "superszaru", o której demonstracja na tej stronie przeprowadza tour — całkowicie sześćnaście liczb, ale tylko osiem pasków, ponieważ oba profile dzielą się domyślnymi wartościami m, a i b, zanim je odłączysz.
r1 = superformula(θ) // latitude profile, θ ∈ [-π/2, π/2] r2 = superformula(φ) // longitude profile, φ ∈ [-π, π] x = r1·cos(θ) · r2·cos(φ) y = r1·cos(θ) · r2·sin(φ) z = r1·sin(θ)
Tworzenie siatki
Symulacja tesselluje powierzchnię jako siatkę szerokości i długości geograficznej, ocenia oba promienie dla każdego próbek (θ, φ), konwertuje je na współrzędne kartezjańskie i zapisuje wyniki bezpośrednio w atrybutie położenia geometryi BufferGeometry z użyciem Three.js. Ponieważ cała powierzchnia jest czystą funkcją swoich parametrów, zmiana przycisku oznacza ponowne ocenienie każdego wierzchołka i ponowne wysyłanie bufora — bez kroplistego naprawiania, ani konieczności utrzymania stanu symulacji zgodnego, co pozwala na reakcję demonstracji na przeciąganie przycisku nawet przy 60 fps na małym GPU komputera. Normalne wierzchołkowe są ponownie obliczane z sąsiednich trójkątów na każdym klatce, aby oświetlenie reagowało poprawnie nawet gdy siatka ugięta jest w ostre skrzyżowania.
Dlaczego botanik potrzebował tego
Gielis nie szukał abstrakcyjnej sztuki — próbował opisać przekroje trąci bambusowych, które nie są ani okrągłymi, ani eliptycznymi, ale niewiele ząbka wielokątnych z zakrzywionymi krawędziami, kształtu, który do momentu superformuły nie posiadał skompaktowej opisowej równości. Tę sama równość okazała się pasować do skorup diatomów, gwiazdnic, korzeniowców, śnieżek, sieci weszów i symetrii radialnej kwiatów z szokującą dokładnością, używając znacznie mniej parametrów niż ogólny dopasowanie Fouriera. Ta efektywność jest również powodem, dla którego jest dobrym podstawowym elementem sztucznej: osiem liczb, jedna równość, a cała przestrzeń sól gwiazdowych symetrycznych jest dostępna poprzez przeciążanie slajderów.
Często zadawane pytania
Kto zaproponował superformułę i dlaczego?
Belgijski botanik i inżynier Johan Gielis opublikował ją w 2003 roku, szukając jednego równania, które mogłoby opisać przekroje roślin — takich jak pęczki bambu, diatomee, skrzydlatki, kwiaty — których tradycyjne kształty, takie jak koła i superelipsy, nie mogłyby opisać w jednym równaniu.
Jak się różni superformuła od superelipsy?
Superelipsa to szczególny przypadek m = 4, n2 = n3. Superformuła dodaje parametr symetrii m, który ustawia liczbę łopatek lub kwiatków po kolei wokół krzywej, dlatego pokrywa ona nie tylko gwiazdy i ząbki, ale także elipsy i prostokąty.
Dlaczego 3D wersja wymaga dwóch oddzielnych równań?
Sfera potrzebuje dwóch niezależnych kątów: szerokości geograficznej i długości geograficznej. Ocena jednego superformuły na każdy kąt i mnożenie dwóch promieni daje powierzchnię produktową sfericzną — supershape — więc profily polarne i azymutalne mogą być kształtowane całkowicie niezależnie.
Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Tessellated Sphere Patterns – Superformula 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ę Tessellated Sphere Patterns – Superformula