Одна формула, ціла таксономія форм
У 2003 році бельгійський ботанік та інженер Йоган Гіліс опублікував узагальнення супереліпса — це, в свою чергу, узагальнення еліпса, яку запропонував Габріель Ламе в 1818 році. Суперформула Гіліса додає один новий параметр, m, який визначає кількість лобів, що з'являються навколо кривої, і результатом є одна полярна рівняння, яке може малювати кола, квадрати, зірки, шестерні, морські зірки та пелюстки квітів, залежно лише від його восьми чисел:
r(φ) = ( |cos(mφ/4)/a|^n2 + |sin(mφ/4)/b|^n3 )^(-1/n1) m → обертальна симетрія: кількість лобів/пелюсток навколо кривої a,b → масштаб радіусів вздовж двох осей n1 → загальна округлість проти стиснення всієї кривої n2,n3 → різкість кожного окремого лоба Встановіть m = 0 і n1 = n2 = n3 = 2, і формула згортається в ідеальне коло. Встановіть m = 4 із відповідними n2, n3 і отримаєте супереліпс Ламе — плавне інтерполяцію між діамоном, еліпсом та заокругленим квадратом. Підніміть m до 5, 6 або 12 і загостріть n2/n3, і крива зростатиме пелюстки, зубчики шестерні чи гілки морської зірки, усі з одних шести символів.
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
Від 2D кривої до 3D форми
Сфера у сферичних координатах потребує двох незалежних кутів — полярного кута θ, виміряного від полюсу, та орієнтуючого кута φ, оберненого навколо екватора. Хитромудрість Гіеліса для переходу в 3D полягає у виконанні двох окремих суперформул, одну як функцію θ та іншу як функцію φ, кожна з яких має свої вісім параметрів, і множенні їх радіусів між собою на єдисну сферичну поверхню:
r1 = superformula(θ) // широтна профіль, θ ∈ [-π/2, π/2] r2 = superformula(φ) // довгота профіль, φ ∈ [-π, π] x = r1·cos(θ) · r2·cos(φ) y = r1·cos(θ) · r2·sin(φ) z = r1·sin(θ) Оскільки обидва профілі незалежні, північно-південну форму та східно-західну форму можна налаштувати окремо: зірка-морська з затиснутими полюсами, спіральний тор, кристалічна структура з гранями або грудова форма з ребристім утворенням. Це точно «суперформа» родина, яку демонструє цей розділ сторінки — шістнадцять чисел, але лише вісім слайдерів, оскільки обидва профілі використовують однакові за замовчуванням параметри m, a та b до їх роз'єднання.
r1 = superformula(θ) // latitude profile, θ ∈ [-π/2, π/2] r2 = superformula(φ) // longitude profile, φ ∈ [-π, π] x = r1·cos(θ) · r2·cos(φ) y = r1·cos(θ) · r2·sin(φ) z = r1·sin(θ)
Створення сітки
Симуляція тесулює поверхню як сітку широтно-довготи, оцінює два радіуси на кожній точці зразка (θ, φ), перетворює їх на декартові координати та записує результати безпосередньо в Three.js BufferGeometry атрибут позиції. Оскільки вся поверхня є чистими функціями своїх параметрів, зміна слайдера означає переоцінку кожного вершини та завантаження буфера — немає інкрементного оновлення, немає стану симуляції для підтримки узгодженості, що пояснює можливість реакції демо на перетягування слайдера з частотою 60 кадрів в секунду навіть на ноутбуку з помірною GPU. Нормилі векторів вершин перераховуються з сусідніх трикутників кожного кадру, щоб освітлення реагувало правильно, навіть коли сітка гнутиметься у гострі кути.
Чому ботаніку потрібно було це
Gielis не намагався захопити абстрактний образ – він намагався описати поперечні розрізи бамбукових пагонів, які не є круглими чи еліптичними, а скоріше лежними, з заокругленими кутами, форма, якої до суперформули не існувало як компактного математичного опису. Одна й та сама формула виявилася точною для опису діатомових клітин, морських зірок, трионих, сніжинок, павутиння та радіальної симетрії квітів, використовуючи набагато менше параметрів, ніж потребував би звичайний Фур’є-підхід. Ця ефективність також робить її гарним процедурним артефактом: вісім чисел, одна формула і весь простір зіркаподібних твердих тіл досяжний за допомогою переміщення повзунків.
Frequently asked questions
Хто винайшов суперформулу і чому?
Бельгійський ботанік та інженер Йоган Гіліс опублікував її у 2003 році, шукаючи одну формулу для опису поперечних зрізів рослин – бамбукових стебків, діатомових водоростей, морських зірок, квітів – які класичні форми, такі як кола та супереліпси, не могли охопити в одній формулі.
Як суперформула відрізняється від супереліпси?
Супереліпса є спеціальним випадком m = 4, n2 = n3. Суперформула додає параметр симетрії m, який визначає кількість лобів або пелюсток навколо кривої, тому вона охоплює зірки, шестерні та квіти, а також еліпси та прямокутники.
Чому 3D версії потрібні дві окремі формули?
Куля потребує двох незалежних кутів – широти та довготи. Обчислення суперформилу на кожному з цих кутів і множення двох радіусів дає сферичну добуток поверхні – супровідну форму – тому полярний та азимутальний профілі можуть бути повністю сформовані незалежно.
Спробуйте наживо
Усе, що вище, працює прямо у вашому браузері — відкрийте Superformula 3D і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.
▶ Відкрити симуляцію Superformula 3D