Неявная поверхность

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Неявная поверхность: Тор (R=40, a=15).
Неявная поверхность рода 2.
Неявная неалгебраическая поверхность (рюмка).

Неявная поверхность — это поверхность в евклидовом пространстве, определённая уравнением

Неявная поверхность является множеством нулей функции трёх переменных. Термин неявная здесь означает, что уравнение не решено относительно любой из переменных, x, y или z.

График функции обычно описывается уравнением и такое представление называется явным. Третьим важным способом описания поверхности является параметрическое представление — , где координаты x, y и z точек поверхности представлены тремя функциями , зависящими от общих параметров . Обычно изменение представления поверхности осуществляется просто только в случае, если задано явное представление . Тогда другими двумя представлениями будут (неявное) и (параметрическое).

Примеры:

  1. плоскость
  2. сфера
  3. тор
  4. Поверхность рода 2: (см. рисунок).
  5. Поверхность вращения (см. рисунок рюмка).

Для плоскости, сферы и тора имеется простое параметрическое представление, что неверно для четвёртого примера.

Теорема о неявной функции описывает условия, при которых уравнение может быть решено (по меньшей мере неявно) относительно x, y или z. Но в общем случае явного решения может и не существовать. Эта теорема является ключевой для вычисления важных геометрических свойств поверхности, таких как касательные плоскости, нормали к поверхности, кривизны (см. ниже). Однако эти поверхности имеют существенный недостаток — их визуализация затруднительна.

Если является многочленом от x, y и z, поверхность называется алгебраической. Пример 5 не является алгебраической поверхностью.

Несмотря на трудность визуализации неявные поверхности дают относительно простые техники для их теоретической генерации (например, Поверхность Штайнера[en]) и поверхности, интересные для практических целей (см. ниже).

Формулы[править | править код]

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

Касательная плоскость и нормальный вектор[править | править код]

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

.

Если точка поверхности не регулярна, она называется особой (употребляется также термин сингулярная точка).

Уравнение касательной плоскости в регулярной точке

а уравнение нормального вектора

Нормальная кривизна[править | править код]

Чтобы сделать формулы проще, аргументы в формуле ниже опущены. Тогда

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

Доказательство этой формулы опирается (как и в случае неявной кривой) на теорему о неявной функции и формулу нормальной кривизны параметрической поверхности.

Приложения неявных поверхностей[править | править код]

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

Эквипотенциальная поверхность четырёх точечных зарядов

Эквипотенциальная поверхность двух точечных зарядов[править | править код]

Точечный заряд в точке образует потенциал в точке (физические константы опущены)

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

Потенциал четырёх точечных зарядов вычисляется пo формуле

На рисунке четыре заряда имеют величину 1 и расположены в точках . Показанная поверхность является эквипотенциальной поверхностью (неявной поверхностью) .

Поверхность постоянного произведения расстояний[править | править код]

Овал Кассини можно определить как множество точек, для которых произведение расстояний от двух заданных точек постоянно (в отличие от эллипса, для которого постоянна сумма расстояний). Аналогично неявные поверхности могут быть определены как постоянное произведение расстояний от некоторых фиксированных точек.

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

Метаморфоз двух неявных поверхностей (преобразование из одной поверхности в другую) — тора и поверхности постоянного произведения расстояний.

Метаморфозы неявных поверхностей[править | править код]

Другой простой метод создания новых неявных поверхностей называется метаморфозом неявных поверхностей:

Для двух неявных поверхностей (на рисунке это поверхность постоянного произведения расстояний и тор) определяются новые поверхности с использованием параметра :

На рисунке представлены поверхности с величинами параметра .

Аппроксимация трёх торов (параллельная проекция)
Изображение POV-Ray (центральная проекция) приближения трёх торов.

Гладкая аппроксимация некоторых неявных поверхностей[править | править код]

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

[1]

где определяет смешивающий параметр, контролирующий ошибку аппроксимации.

Аналогично гладкой аппроксимации неявных кривых уравнение

представляет для подходящих параметров гладкие аппроксимации трёх пересекающихся торов уравнениями

(На рисунке параметры равны )

POV-Ray[2] изображение: Метаморфозы между сферой и поверхностью постоянного произведения расстояний (от 6 точек).

Визуализация неявных поверхностей[править | править код]

Есть несколько алгоритмов рендеринга неявных поверхностей[3], включая алгоритм «marching cubes»[4]. Фактически, имеются две идеи визуализации неявных поверхностей — одна создаёт сеть многоугольников, которые затем отрисовываются (см. Триангуляризация поверхности[en]), а вторая опирается на трассировку лучей, когда определяются точки пересечения лучей с поверхностью[5].

См. также[править | править код]

Примечания[править | править код]

  1. 1 2 Raposo, Gomes, 2019.
  2. POV-Ray (англ. The Persistence of Vision Ray-Tracer) использует обратную трассировку лучей для создания трехмерных фотореалистических изображений. Сцена в POV-Ray описывается на SDL (англ. Scene Description Language) — интерпретируемом языке программирования с С-подобным синтаксисом. При помощью SDL пользователь задает положение камеры, источников света, размещение объектов и их свойства, атмосферные эффекты и т. п. См статью Научные иллюстрации в POV-Ray Архивная копия от 20 декабря 2019 на Wayback Machine
  3. Bloomenthal, Bajaj, Wyvill, 1997.
  4. Stephenson, 2004.
  5. Haines, Akenine-Moller, 2019.

Литература[править | править код]

  • Adriano N. Raposo, Abel J.P. Gomes. Pi-surfaces: products of implicit surfaces towards constructive composition of 3D objects // Journal of WSCG. — 2019. — arXiv:1906.06751. (International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision)

Ссылки[править | править код]