Metaballs - Википедия - Metaballs

1: Влияние двух положительных метаболитов друг на друга.
2: Влияние отрицательного метаболизма на положительный метаболизм путем создания углубления на поверхности положительного метаболизма.

В компьютерная графика, метаболы выглядят органично п -размерный изоповерхности, характеризующиеся их способностью сливаться вместе, когда они находятся в непосредственной близости, чтобы создавать отдельные смежные объекты. Такой вид «кляксы» делает их универсальными инструментами, которые часто используются для моделирования органических объектов, а также для создания базовых сеток для лепка.[1] Техника для рендеринг Metaballs был изобретен Джим Блинн в начале 1980-х годов для моделирования взаимодействия атомов для Карл Саган сериал 1980 года Космос.[2] В просторечии его также называют «эффектом желе». движение и UX дизайн сообщество,[3] обычно появляется в UI такие элементы, как навигации и кнопки. Поведение Metaball соответствует митоз в клеточной биологии, где хромосомы генерируют идентичные копии самих себя путем деления клеток.

Определение

Каждый метабалл определяется как функция в п размеры (например, для трех измерений, ; трехмерные метабалы, как правило, являются наиболее распространенными, также популярны двухмерные реализации). Также выбирается пороговое значение для определения твердого объема. Потом,

представляет, ограничен ли объем поверхностью, определяемой метаболы заполнены или нет.

Выполнение

Взаимодействие между двумя разноцветными 3D-позитивными метабалами, созданными в Брайс.
Обратите внимание, что два метабола меньшего размера объединяются, чтобы создать один более крупный объект.

Типичной функцией, выбранной для метаболизма, является закон обратных квадратов, то есть вклад в пороговую функцию падает в колоколе по мере увеличения расстояния от центра метабола.

Для трехмерного случая , куда это центр метаболизма. Однако из-за разделения это вычислительно дорогой. По этой причине приблизительный полиномиальные функции обычно используются.[нужна цитата ]

При поиске более эффективной функции спада желательно несколько качеств:

  • Конечная поддержка. Функция с конечной опорой стремится к нулю на максимальном радиусе. При оценке поля метаболизма любые точки за пределами их максимального радиуса от точки выборки можно игнорировать. Поиск ближайшего соседа может гарантировать, что нужно оценивать только соседние метабалы, независимо от общего числа в поле.
  • Гладкость. Поскольку изоповерхность является результатом сложения полей, его гладкость зависит от гладкости кривых спада.

Простейшая кривая спада, удовлетворяющая этим критериям, - это , где r - расстояние до точки. Эта формула позволяет избежать дорогостоящих квадратный корень звонки.

Более сложные модели используют Гауссовский потенциал, ограниченный конечным радиусом или смесью многочленов для достижения гладкости. Модель Soft Object братьев Вивилл обеспечивает более высокую степень гладкости и по-прежнему позволяет избежать использования квадратных корней.[нужна цитата ]

Простое обобщение метабаллов - применение кривой спада к расстоянию от линий или расстоянию от поверхностей.

Есть несколько способов отобразить метаболы на экране. В случае трехмерных метабаллов наиболее распространены два: брутфорс рейкастинг и маршевые кубики алгоритм.

2D-метабалы были очень распространены демонстрационный эффект в 1990-е гг. Эффект также доступен как XScreensaver модуль.

дальнейшее чтение

  • Блинн, Дж. Ф. (июль 1982 г.). «Обобщение алгебраического рисования поверхностей». Транзакции ACM на графике. 1 (3): 235–256. Дои:10.1145/357306.357310.

Рекомендации

внешняя ссылка