Що робить поверхню мінімальною
Занурте будь-яку форми дротяну петлю у мильний розчин і витягніть її, і мильна плівка, що охоплює петлю, встановиться на поверхні з найменшою площею для цього периметру. Цей фізичний факт математично визначає мінімальну поверхню: в кожній точці її середнє кривизна — середнє значення того, наскільки викривлює поверхня в двох перпендикулярних напрямках — дорівнює нулю. Куля випирає убік таким же чином у всіх напрямках і має велику, однорідну позитивну кривизну; мінімальна поверхня замість цього вигинається вгору в одному напрямку так само, як і вниз в перпендикулярному напрямку, як сидіння для коня, щоб два ефекти завжди компенсувалися.
Триплійно періодичні: укладання всього простору
Більшість мінімальних поверхонь, що простягаються по петлі дроту, є унікальними формами. Триплійно періодична мінімальна поверхня (TPMS) — це особливий, набагато рідкісніший вид: вона повторюється в усіх трьох просторових напрямках, як кристалічна решітка, покриваючи нескінченний простір, залишаючись при цьому мінімальною (нульова середнє викривлення) у кожній точці. TPMS ділить весь простір на дві взаємопроникаючі лабіринти, обидва з’єднані та конгруентні один одному для найбільш симетричних прикладів, і жоден з них не торкається іншого, крім поділу поверхні саме по собі. Оскільки поверхня гладка та амфітеатрна всюди, і оскільки кожен лабіринт проходить через простір без тупиків, геометрія TPMS має надзвичайно велику площу поверхні, упаковану в компактний повторюваний елементарну комірку.
Рівняння: Schwarz P, Diamond, Neovius, Gyroid
Найбільш відомі сім’ї TPMS визначаються надзвичайно простими неявними рівняннями: виберіть рівень (ізолінію) тригонометричної функції x, y та z, і отримана поверхня буде мінімальною або дуже близькою до мінімальної, майже за конструкцією.
Schwarz P: cos(x) + cos(y) + cos(z) = t
Diamond: sin(x)sin(y)sin(z) + sin(x)cos(y)cos(z) + cos(x)sin(y)cos(z) + cos(x)cos(y)sin(z) = t
Gyroid: sin(x)cos(y) + sin(y)cos(z) + sin(z)cos(x) = t
Neovius: 3(cos x + cos y + cos z) + 4 cos x cos y cos z = t
// t = 0 дає «збалансовану» поверхню; t != 0 зміщує та ущільнює кожен лабіринт
Schwarz P (1865) і Diamond (1865, обидва Германном Шварцем) мають плоскі дзеркальні осерідні площини, що проходять через них, видимі як прямі лінії, де поверхня зустрічається з певними перерізами. Gyroid, відкритий Аланом Шуеном у 1970 році під час роботи в NASA над легкими конструкційними матеріалами, відрізняється: він не містить жодних прямих ліній і жодних дзеркальних площин. Кожна точка на Gyroid знаходиться на спіральному шляху, який безперервно скручується у просторі, надаючи поверхні характерний, хіральний, вихлюпувальний характер, який не має рівної частини ніде — його власне дзеркальне відображення не може бути повернуте, щоб відповідати оригіналу, точно так само як ліву руку не можна повернути, щоб відповідала правій.
Schwarz P: cos(x) + cos(y) + cos(z) = t
Diamond: sin(x)sin(y)sin(z) + sin(x)cos(y)cos(z)
+ cos(x)sin(y)cos(z) + cos(x)cos(y)sin(z) = t
Gyroid: sin(x)cos(y) + sin(y)cos(z) + sin(z)cos(x) = t
Neovius: 3(cos x + cos y + cos z) + 4 cos x cos y cos z = t
// t = 0 gives the "balanced" surface; t != 0 shifts and thickens each labyrinth
Відображення: ходингові куби
Жодна з цих рівнянь не описує сітку трикутників безпосередньо — вони визначають неявну поверхню, набір точок, де деяка функція дорівнює постійній величині, точно так само як рівень на контурній карті, але в трьох вимірах. Для її відображення ця симуляція використовує ходингові куби: розділіть простір на дрібну сітку кубічних блоків, оцініть неявну функцію у восьми кутах кожного блоку та десь там, де деякі кути знаходяться вище ізозначення, а інші – нижче, поверхня повинна проходити через цей блок. Використовуючи таблицю пошуку з 256 можливих шаблонів ознак по кутах восьми граней блоку (яка може бути зменшена до 15 унікальних випадків за допомогою симетрії), алгоритм точно визначає, які трикутники генерувати, а лінійна інтерполяція вздовж перетину кожного краю розміщує їх вершини саме там, де неявна функція фактично дорівнює ізозначенню.
для кожного блоку в сітці: cornerSign[8] = sign(f(x,y,z) - isovalue) у восьми кутах case = бітовий маска з 8 ознак // 0..255 triangles = lookupTable[case] // від 0 до 4 трикутників для кожного трикутника: розмістіть вершини шляхом лінійної інтерполяції вздовж перетину кубічних країв блоку Роздільна здатність сітки є головним регулюючим елементом якості: груба сітка дає помітно обвуглену, низькополігональну апроксимацію, особливо в щільно вигнутих областях, де справжня поверхня найшвидше згинається, тоді як тонка сітка дозволяє отримати гладкий вигляд сітки за рахунок значної кількості додаткових трикутників і повільного проходження алгоритму ходингових кубів — пряма причина того, що ця симуляція розкриває роздільну здатність як регульований параметр замість її фіксації.
for each cube in the grid:
cornerSign[8] = sign(f(x,y,z) - isovalue) at each of the 8 corners
case = bitmask of the 8 signs // 0..255
triangles = lookupTable[case] // 0 to 4 triangles
for each triangle:
place vertices by linear interpolation along the crossed cube edges
Чому природа та інженерія постійно знаходять це
TPMS геометрія вирішує проблему, яка виникає знову і знову скрізь, де потрібно велику площу поверхні, дві окремі, але переплетені мережі та структурна ефективність, все це вміщено в невеликому об'ємі. Шарів на крилах деяких метеликів, включаючи певні види Callophrys, росте природний Gyroid-структурний хітинний ланцюг, який створює їх іридісцентний структурний колір, повністю без пігменту. Деякі блок-кополімери самозбираються в Gyroid-подібні області під час фазового розшарування, властивість, яка використовується у фільтруючих мембранах та дослідженнях електродів акумуляторів, де дві лабіринти можуть нести два різних фази, наприклад, електроліт і матеріал електроди, з величезним спільним інтерфейсом між ними та без «мертвих» ніжок. Gyroid-лабіринти також стали основним компонентом 3D-друкованих легких конструкцій, оскільки гладка, зв'язана, математично визначена геометрія уникає концентрації напружень, які страждають від ребер, але при цьому досягає дуже високого співвідношення міцності до ваги.
Frequently asked questions
Що означає для поверхні мати нульову середню кривизну?
У кожній точці поверхня має дві головні кривизни, максимальну та мінімальну викривлення в перпендикулярних напрямках. Середня кривизна – це їхнє середнє значення, а нульова середня кривизна означає, що дві головні кривизни рівні та протилежні у кожній точці, тобто поверхня згинається в одному напрямку точно так само, як і в перпендикулярному напрямку вниз, як седло. Це локальна умова, яка робить поверхню як мильний розчин без чистої різниці тиску через неї.
Чому Гіроїд особливий порівняно з Schwarz P або Diamond?
Гіроїд, відкритий Аланом Шоненом у 1970 році, не містить жодної прямої лінії та жодного площини симетрії дзеркала ніде на його поверхні, на відміну від Schwarz P і Diamond, які обидва мають плоскі дзеркальні площини. Ця хіральність означає, що Гіроїд та його дзеркальне відображення не можуть бути перекладені один на одного обертанням лише, і це пояснює, чому дві переплетені лабіринти Гіроїда особливо добре максимізують площу поверхні в компактному об'ємі, властивість, яку використовують у дизайнах крильця метелика та електродів акумуляторів.
Чи виробляє marching cubes точну мінімальну поверхню?
Ні, він генерує полігональне наближення. Marching cubes зраховує неявне рівняння на сітці та лінійно інтерполює, де перетинається поверхня з кожним ребром комірки, тому справжня гладка поверхня підходиться лише тоді, коли збільшується роздільна здатність сітки. Грубі сітки показують видимі об faceting, особливо в щільно вигнутих седлоподібних областях, що пояснює, чому роздільна здатність є одним із основних регулюючих елементів у будь-якому реальному часі рендерері ізоповерхні.
Спробуйте наживо
Усе, що вище, працює прямо у вашому браузері — відкрийте Gyroid & Minimal Surfaces і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.
▶ Відкрити симуляцію Gyroid & Minimal Surfaces