Jump to content

Обработка геометрии

Обработка полигональной сетки Марио Ботч и др. представляет собой учебник по теме «Обработка геометрии». [1]

Обработка геометрии — это область исследований, в которой используются концепции прикладной математики , информатики и инженерии для разработки эффективных алгоритмов для получения, реконструкции , анализа , манипулирования, моделирования и передачи сложных 3D-моделей. Как следует из названия, многие концепции, структуры данных и алгоритмы напрямую аналогичны обработке сигналов и обработке изображений . Например, там, где сглаживание изображения может свертывать сигнал интенсивности с ядром размытия, сформированным с помощью оператора Лапласа , геометрическое сглаживание может быть достигнуто путем свертки геометрии поверхности с ядром размытия, сформированным с помощью оператора Лапласа-Бельтрами .

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

Обработка геометрии — распространенная тема исследований на SIGGRAPH , главной научной конференции по компьютерной графике , а также основная тема ежегодного симпозиума по обработке геометрии .

цикл геометрии как жизненный Обработка

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

Обработка геометрии предполагает работу с формой , обычно в 2D или 3D, хотя форма может существовать в пространстве произвольных размеров. Обработка формы включает три этапа, которые называются ее жизненным циклом. При «рождении» форма может быть создана одним из трех методов: моделью , математическим представлением или сканированием . После рождения формы ее можно анализировать и редактировать несколько раз в цикле. Обычно это включает в себя получение различных измерений, таких как расстояния между точками формы, гладкость формы или ее эйлерова характеристика . Редактирование может включать шумоподавление, деформацию или выполнение жестких преобразований . На заключительном этапе «жизни» формы она расходуется. Это может означать, что зритель использует его как визуализируемый ресурс, например, в игре или фильме. Конец жизни формы также может быть определен решением о форме, например, удовлетворяет ли она некоторым критериям. Или его даже можно изготовить в реальном мире с помощью такого метода, как 3D-печать или лазерная резка.

Дискретное представление формы [ править ]

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

В компьютерах все должно быть дискретизировано. Формы при обработке геометрии обычно представляются в виде треугольных сеток , которые можно рассматривать как график . Каждый узел графа является вершиной (обычно в ), у которого есть позиция. Это кодирует геометрию формы. Направленные ребра соединяют эти вершины в треугольники, которые по правилу правой руки имеют направление, называемое нормалью. Каждый треугольник образует грань сетки. Они носят комбинаторный характер и кодируют топологию фигуры. Помимо треугольников, более общий класс полигональных сеток для представления фигуры также можно использовать . Более сложные представления, такие как прогрессивные сетки, кодируют грубое представление вместе с последовательностью преобразований, которые создают точное представление или представление с высоким разрешением после применения формы. Эти сетки полезны в различных приложениях, включая геоморфизацию, прогрессивную передачу, сжатие сетки и выборочное уточнение. [2]

Сетка знаменитого Стэнфордского кролика. Фигуры обычно представляются в виде сетки — набора многоугольников, очерчивающих контуры фигуры.

Свойства фигуры [ править ]

Эйлерова характеристика [ править ]

Одним из особенно важных свойств трехмерной формы является ее эйлерова характеристика , которую альтернативно можно определить через ее род . Формула для этого в непрерывном смысле такова: , где - количество связных компонентов, - количество отверстий (как в кольцевых отверстиях, см. тор ), и – число связных компонент границы поверхности. Конкретным примером этого является сетка пары брюк . Имеется один связный компонент, 0 отверстий и 3 связных компонента границы (талия и два отверстия для ног). Итак, в этом случае эйлерова характеристика равна -1. Чтобы перенести это в дискретный мир, эйлерова характеристика сетки вычисляется в терминах ее вершин, ребер и граней. .

На этом изображении показана сетка пары брюк с эйлеровой характеристикой -1. Это объясняется уравнением для расчета характеристики: 2c – 2h – b. Сетка имеет 1 связный компонент, 0 топологических отверстий и 3 границы (отверстие в талии и каждое отверстие для ног): 2 – 0 – 3 = -1.

Реконструкция поверхности [ править ]

Реконструкция Пуассона от точек поверхности до сетки [ править ]

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

В зависимости от того, как форма инициализируется или «рождается», форма может существовать только как туманность из выбранных точек, которые представляют ее поверхность в пространстве. Чтобы преобразовать точки поверхности в сетку, используется реконструкция Пуассона. [3] можно использовать стратегию. Этот метод утверждает, что индикаторная функция — функция, которая определяет, какие точки в пространстве принадлежат поверхности фигуры, — на самом деле может быть вычислена на основе точек выборки. Ключевая идея заключается в том, что градиент индикаторной функции равен 0 везде, кроме точек выборки, где он равен внутренней нормали к поверхности. Более формально, предположим, что набор точек выборки с поверхности обозначается как , каждая точка пространства по , и соответствующая нормаль в этой точке на . Тогда градиент индикаторной функции определяется как:

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

Регистрация [ править ]

Регистрация по точкам
Анимация, изображающая регистрацию частичной сетки в полной сетке с кусочно-постоянной аппроксимацией функции проекции.
Укажите на регистрацию самолета
Анимация, изображающая ту же процедуру регистрации, что и выше, но с кусочно-линейной аппроксимацией функции проекции. Обратите внимание, что оно сходится гораздо быстрее.

Одна из распространенных проблем, возникающих при обработке геометрии, заключается в том, как объединить несколько изображений одного объекта, снятых под разными углами или положениями. Эта проблема известна как регистрация . При регистрации мы хотим найти оптимальное жесткое преобразование , которое выровняет поверхность. с поверхностью . Более формально, если это проекция точки x на поверхность на поверхность , мы хотим найти оптимальную матрицу вращения и вектор перевода которые минимизируют следующую целевую функцию:

Хотя вращения в целом нелинейны, небольшие вращения можно линеаризовать как кососимметричные матрицы. Более того, функция расстояния нелинейно, но поддается линейным приближениям, если изменение мал. Поэтому итеративное решение, такое как итеративная ближайшая точка (ICP), используется для итеративного решения небольших преобразований вместо решения потенциально большого преобразования за один раз. В ICP n точек случайной выборки из выбираются и проецируются на . Чтобы равномерно и случайным образом отбирать точки по поверхности треугольной сетки, случайная выборка разбивается на два этапа: равномерная выборка точек внутри треугольника; и треугольники с неравномерной выборкой, так что соответствующая вероятность каждого треугольника пропорциональна площади его поверхности. [4] После этого оптимальное преобразование рассчитывается на основе разницы между каждым и его проекция. На следующей итерации прогнозы рассчитываются на основе результата применения предыдущего преобразования к выборкам. Процесс повторяется до сходимости.

Сглаживание [ править ]

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

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

.

Принимая вариацию на выдает необходимое условие

.

Дискретизируя это на кусочно-постоянные элементы с нашим сигналом в вершинах, мы получаем

Шумная сфера, итеративно сглаживаемая

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

Где и это углы, лежащие против края [5] Массовая матрица M как оператор вычисляет локальный интеграл значения функции и часто устанавливается для сетки с m треугольниками следующим образом:

Параметризация [ править ]

Иногда нам нужно выровнять 3D-поверхность на плоскую плоскость. Этот процесс известен как параметризация . Цель состоит в том, чтобы найти координаты u и v, на которые мы можем отобразить поверхность, чтобы свести к минимуму искажения. Таким образом, параметризацию можно рассматривать как проблему оптимизации. Одним из основных применений параметризации сетки является наложение текстур .

Метод массовых пружин [ править ]

Tutte Embedding показывает негладкую параметризацию на стороне жука.

Один из способов измерить искажения, возникающие в процессе картографирования, — это измерить, насколько длина ребер 2D-картографии отличается от их длин на исходной 3D-поверхности. Более формально целевую функцию можно записать так:

Где представляет собой набор ребер сетки и это множество вершин. Однако оптимизация этой целевой функции приведет к решению, которое сопоставит все вершины с одной вершиной в координатах uv . Заимствуя идею из теории графов, мы применяем Tutte Mapping и ограничиваем граничные вершины сетки единичным кругом или другим выпуклым многоугольником . Это предотвратит схлопывание вершин в одну вершину при применении сопоставления. Неграничные вершины затем размещаются в барицентрической интерполяции своих соседей. Однако Tutte Mapping по-прежнему страдает от серьезных искажений, поскольку пытается сделать длины ребер равными и, следовательно, неправильно учитывает размеры треугольников на фактической поверхностной сетке.

наименьших Конформные отображения квадратов

Сравнение параметризации Tutte Embedding и Least-Squares-Conformal-Mapping. Обратите внимание, насколько плавна параметризация LSCM на стороне жука.

Другой способ измерения искажения — рассмотреть изменения координатных функций u и v . Шатание и искажение, наблюдаемые в методах массовых пружин, обусловлены сильными изменениями координатных функций u и v . При таком подходе целевой функцией становится энергия Дирихле на u и v:

Есть еще несколько вещей, которые следует учитывать. Мы хотели бы минимизировать угловое искажение, чтобы сохранить ортогональность . Это означает, что мы хотели бы . Кроме того, нам также хотелось бы, чтобы отображение имело регионы пропорционально такого же размера, что и оригинал. Это приводит к установке якобиана координатных функций u и v равным 1.

Объединив эти требования, мы можем увеличить энергию Дирихле так, чтобы наша целевая функция стала следующей: [6] [7]

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

Деформация [ править ]

Пример максимально жесткой деформации

Деформация связана с преобразованием некоторой формы покоя в новую форму. Обычно эти преобразования непрерывны и не меняют топологию фигуры. Современные методы деформации формы на основе сетки удовлетворяют ограничениям пользователя на деформацию в маркерах (выбранных вершинах или областях сетки) и плавно распространяют эти деформации маркеров на остальную часть формы, не удаляя и не искажая детали. Некоторые распространенные формы интерактивных деформаций основаны на точках, скелетах и ​​клетках. [8] При точечной деформации пользователь может применять преобразования к небольшому набору точек, называемых маркерами формы. Деформация на основе скелета определяет скелет формы, который позволяет пользователю перемещать кости и вращать суставы. Деформация на основе клетки требует, чтобы клетка была нарисована вокруг всей фигуры или ее части, чтобы, когда пользователь манипулирует точками на клетке, объем, который она включает, изменяется соответствующим образом.

Точечная деформация [ править ]

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

Поверхность отдыха погружен в можно описать с помощью отображения , где представляет собой двумерную параметрическую область. То же самое можно сделать и с другим отображением для преображенной поверхности . В идеале преобразованная форма добавляет к оригиналу как можно меньше искажений. Один из способов смоделировать это искажение — с помощью смещений. с энергией, основанной на Лапласе. [9] Применение оператора Лапласа к этим отображениям позволяет нам измерить, как изменяется положение точки относительно ее окрестности, что сохраняет ручки гладкими. Таким образом, энергию, которую мы хотели бы минимизировать, можно записать как:

.

Хотя этот метод является трансляционно-инвариантным, он не может учитывать вращения. Схема деформации «настолько жесткая, насколько это возможно» [10] применяет жесткое преобразование к каждому дескриптору i, где представляет собой матрицу вращения и является вектором трансляции. К сожалению, заранее узнать повороты невозможно, поэтому вместо этого мы выбираем «лучшее» вращение, которое минимизирует смещения. Однако для достижения локальной инвариантности вращения требуется функция который выводит наилучшее вращение для каждой точки на поверхности. Таким образом, результирующая энергия должна быть оптимизирована по обоим параметрам. и :

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

Сегментация внутри и снаружи [ править ]

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

В простейшем случае форма замкнутая. В этом случае, чтобы определить, является ли точка находится внутри или снаружи поверхности, мы можем отбросить луч в любом направлении от точки запроса и посчитайте количество раз он проходит через поверхность. Если был снаружи тогда луч должен либо не пройти (в этом случае ) или каждый раз, когда он входит он должен пройти дважды, поскольку S ограничен, поэтому любой луч, входящий в него, должен выйти. Итак, если находится снаружи, четный. Аналогично, если находится внутри, к предыдущему случаю применима та же логика, но луч должен пересекаться еще один раз в первый раз, когда он уходит . Так:

Зачастую мы не можем гарантировать, что закрыт. Возьмите пример с брюками из начала этой статьи. Эта сетка явно имеет смысловое содержание внутри и снаружи, несмотря на наличие дырок на талии и ногах.

Аппроксимация сегментации внутри и снаружи путем стрельбы лучами из точки запроса для различного количества лучей.

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

В пределе стрельбы многими-многими лучами этот метод обрабатывает открытые сетки, однако для достижения точности требуется слишком много лучей, чтобы этот метод был идеальным в вычислительном отношении. Вместо этого более надежным подходом является обобщенное число обмотки. [11] Вдохновленный двумерным числом витков , этот подход использует телесный угол при каждого треугольника в сетке, чтобы определить, находится внутри или снаружи. Значение обобщенного числа обмотки при , пропорционален сумме вкладов телесных углов от каждого треугольника в сетке:

Для закрытой сетки эквивалентно характеристической функции объема, представленной выражением . Поэтому мы говорим:

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

Приложения [ править ]

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

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

  1. ^ Jump up to: Перейти обратно: а б Ботч, Марио; Коблет, Лейф; Поли, Марк; Альье, Пьер (2010). Обработка полигональной сетки . ЦРК Пресс . ISBN  9781568814261 .
  2. ^ Хьюг Хоппе. «Прогрессивные сетки» (PDF) .
  3. ^ Jump up to: Перейти обратно: а б «Реконструкция поверхности Пуассона» . hhoppe.com . Проверено 26 января 2017 г.
  4. ^ Шимон Русинкевич, Марк Левой. «Эффективные варианты алгоритма ICP» (PDF) .
  5. ^ «Крис Трэли: Лапласовы сетки» . www.ctralie.com . Проверено 16 марта 2017 г.
  6. ^ Дебрен, Матье (2002). «Внутренняя параметризация поверхностных сеток» (PDF) . Еврографика . 21 .
  7. ^ Леви, Бруно (2002). «Конформные карты наименьших квадратов для автоматического создания атласов текстур» (PDF) . Транзакции ACM с графикой . 21 (3): 362–371. дои : 10.1145/566654.566590 . Архивировано из оригинала (PDF) 15 марта 2017 г. Проверено 14 марта 2017 г.
  8. ^ Джейкобсон, Алек; Баран, Илья; Попович, Йован; Соркина, Ольга (2011). «Ограниченные бигармонические веса для деформации в реальном времени» (PDF) . Транзакции ACM с графикой . 30 (4): 1. дои : 10.1145/2010324.1964973 .
  9. ^ Марк, Алекса (2003). «Дифференциальные координаты для локального морфинга и деформации сетки». Визуальный компьютер . 19 (2): 105–114. дои : 10.1007/s00371-002-0180-0 . S2CID   6847571 .
  10. ^ Соркина, Ольга ; Алекса, Марк (2007). «Моделирование максимально жесткой поверхности» (PDF) . Материалы симпозиума EUROGRAPHICS/ACM SIGGRAPH по геометрической обработке : 109–116.
  11. ^ Джейкобсон, Алек; Ладислав, Каван; Соркин-Хорнунг, Ольга (2013). «Надежная сегментация внутри и снаружи с использованием обобщенных чисел обмотки» (PDF) . Транзакции ACM с графикой . 32 (4): 1. дои : 10.1145/2461912.2461916 . S2CID   207202533 .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 83186db5481799e9945f8c13452b4c47__1718371980
URL1:https://arc.ask3.ru/arc/aa/83/47/83186db5481799e9945f8c13452b4c47.html
Заголовок, (Title) документа по адресу, URL1:
Geometry processing - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)