Моделирование шума
Шум моделирования — это функция , которая создает векторное поле без дивергенций . Этот сигнал можно использовать в художественном моделировании с целью повышения восприятия дополнительных деталей.
Функцию можно вычислить в трех измерениях, разделив пространство на регулярную решетчатую сетку. С каждым краем связана случайная величина, указывающая на вращательную составляющую материала, вращающуюся вокруг края. Следя за вращением материала на грани и за их пределами, можно быстро суммировать потоки, проходящие через каждую грань решетки. Значения потока на гранях решетки затем интерполируются для создания значения поля для всех позиций.
Шум Перлина — самая ранняя форма решеточного шума , которая стала очень популярной в компьютерной графике . Perlin Noise не подходит для моделирования, поскольку он не свободен от дивергенций.
Шумы, основанные на решетках, такие как шум моделирования и шум Перлина, часто рассчитываются на разных частотах и суммируются для формирования с ограниченной полосой частот фрактальных сигналов .
Позже были разработаны другие подходы, в которых используются тождества векторного исчисления для создания полей без дивергенций, такие как «Шум скручиваемости», предложенный Робертом Бридсоном, и «Шум без дивергенции», предложенный Иваном ДеВольфом. Для этого часто требуется расчет градиентов шума решетки, которые иногда недоступны. Наивная реализация вызвала бы функцию решеточного шума несколько раз для расчета ее градиента, что привело бы к большему количеству вычислений, чем это строго необходимо. В отличие от этих шумов, шум моделирования имеет не только математические свойства, но и геометрическое обоснование. Он имитирует вихри, разбросанные в пространстве, создавая приятную эстетику.
Шум скручивания
[ редактировать ]Векторное поле создается следующим образом: для каждой точки (x,y,z) в пространстве создается векторное поле G , каждый компонент x, y и z векторного поля (Gx, Gy, Gz) определяется 3D-перлин или функция симплексного шума с x, y и z в качестве параметров. Частная производная Gx, Gy и Gz по x, y и z получается с помощью градиента перлина или симплексного шума с помощью конечных разностей неявного расчета внутри симплексного шума.
Частные производные используются для расчета F как ротора G, определяемого формулой
Двукасательный шум
[ редактировать ]Этот метод основан на том, что ротор градиента скалярного поля равен нулю, а тождество разлагает расхождение векторного произведения двух векторов A и B как разность скалярных произведений каждого вектора с ротором вектора. другой:
это означает, что если ротор обоих векторных полей равен нулю, то дивергенция произведения двух векторов, которые являются градиентами скалярных полей, также равна нулю. В результате получается векторное поле без дивергенций, поскольку для создания скалярных полей вызываются только две шумовые функции.
Векторное поле создается следующим образом: вычисляются два скалярных поля. и градиенты A и B используя функции 3D-перлина или симплексного шума, затем вычисляются каждого из этих полей, векторное произведение A и B дает векторное поле без дивергенций.
Знаковый шум на расстоянии
[ редактировать ]Векторное поле создается на основе неявного уравнения замкнутой и дифференцируемой поверхности. Для каждой точки пространства, часто за пределами или вблизи поверхности, рассчитывается нормаль n к поверхности. Она рассчитывается так же, как функция расстояния со знаком, с использованием частных производных, разделенных на расстояние до поверхности. За пределами поверхности все эти нормали направлены от поверхности. После этого для этой точки пространства вычисляется скалярное значение p с использованием функции трехмерного перлина или симплексного шума. Теперь мы создаем векторное поле F = p n, направленное за пределы поверхности. Тогда ротор этого векторного поля задает направление в каждой точке пространства, где должны двигаться частицы. По построению эти векторы F будут указывать в касательном направлении на изоповерхность, заданную расстоянием с тем же знаком до исходной поверхности, и могут использоваться для ограничения движений каждой частицы, чтобы она оставалась на этой поверхности.
Ссылки
[ редактировать ]Дальнейшее чтение
[ редактировать ]- Патель, М. и Тейлор, Н., декабрь 2005 г. Простые поля без дивергенций для художественного моделирования . Журнал графических инструментов , том 10, номер 4.