О Барицентрических Координатах На Пальцах

Привет. Наверняка каждый был свидетелем визуальной оценки степени сходства ребенка с родителями: что-то вроде «он похож на папу, но и на маму похож!!!»

О барицентрических координатах на пальцах

( взято отсюда ) Как и в примере на изображении, степень сходства можно оценить в процентах.

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

И это будет выглядеть и восприниматься вполне естественно для «обычного» человека, не связанного с антропологией или, например, криминологией.

Для профессионала в области анализа и распознавания лиц человеческое лицо предстает скорее как набор параметров.

То есть точка (набор координат) в некотором пространстве с базисом (осями, соответствующими параметрам).

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

Собственно, о чём я.

этим двум подходам к описанию лиц соответствуют две системы координат:

  1. барицентрический — описание точки пространства (в нашем примере: лица) через взвешенную смесь других точек;
  2. аффинное — описание точки пространства через координаты в некотором базисе.



Так что же такое барицентрические координаты?

Впустить

О барицентрических координатах на пальцах

-мерное пространство дано

О барицентрических координатах на пальцах

точка

О барицентрических координатах на пальцах

с радиусами-векторами

О барицентрических координатах на пальцах

,

О барицентрических координатах на пальцах

.

При этом ни одна из точек не лежит в линейной оболочке радиус-векторов остальных точек.

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

О барицентрических координатах на пальцах

.

В случае одномерного пространства (линии) нам нужны 2 несовпадающие точки, в случае двумерного пространства - невырожденный треугольник, в случае трехмерного пространства - тетраэдр.

Тогда любая точка пространства

О барицентрических координатах на пальцах

может быть представлено радиус-вектором

О барицентрических координатах на пальцах

:

О барицентрических координатах на пальцах

Набор

О барицентрических координатах на пальцах

и есть барицентрические координаты.



Почему барицентрические координаты лучше/хуже аффинных?

Начнем с относительных недостатков:
  1. в барицентрическом представлении нам понадобится на одну координату больше, чем в аффинном;
  2. расстояние между точками, определенными барицентрически, не может быть напрямую рассчитано в этих координатах.

Частично первый недостаток компенсируется тем, что, несмотря на необходимость использования

О барицентрических координатах на пальцах

барицентрические координаты при описании точки в

О барицентрических координатах на пальцах

В -мерном пространстве число степеней не увеличивается.

Барицентрические координаты, определенные в формуле (1), связаны соотношением:

О барицентрических координатах на пальцах

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



О барицентрических координатах на пальцах

и использовать аналог расстояния Махаланобиса.

Какие бонусы дает использование барицентрических координат?

  1. Барицентрические координаты инвариантны к аффинным преобразованиям пространства.

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

    Пусть текстурные координаты заданы в вершинах треугольного элемента поверхности

    О барицентрических координатах на пальцах

    и нормальные люди

    О барицентрических координатах на пальцах

    (

    О барицентрических координатах на пальцах

    ), то каждая точка этой площади поверхности будет иметь барицентрические координаты

    О барицентрических координатах на пальцах

    , его текстурные координаты

    О барицентрических координатах на пальцах

    и нормальный

    О барицентрических координатах на пальцах

    можно рассчитать как:

    О барицентрических координатах на пальцах



    О барицентрических координатах на пальцах

  2. Используя барицентрические координаты, легко определить, принадлежит ли точка

    О барицентрических координатах на пальцах

    часть пространства, ограниченная многогранником с вершинами

    О барицентрических координатах на пальцах

    : Это выполняется только в том случае, если

    О барицентрических координатах на пальцах

    .

    Равенство i-й барицентрической координаты 1 означает, что точка

    О барицентрических координатах на пальцах

    совпадает с

    О барицентрических координатах на пальцах

    .

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



Должно быть, их очень сложно вычислить?

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

О барицентрических координатах на пальцах

, Где

О барицентрических координатах на пальцах

— радиус-вектор в системе координат с центром в точке

О барицентрических координатах на пальцах

.

Тогда формулу (1) можно переписать следующим образом:

О барицентрических координатах на пальцах

Давайте раскроем скобки, чтобы подвести итог:

О барицентрических координатах на пальцах

По свойствам (2):

О барицентрических координатах на пальцах

Соответственно:

О барицентрических координатах на пальцах

, Где

О барицентрических координатах на пальцах

Учитывая (2), ограничимся вычислением первых n барицентрических координат. Представим себе переход к барицентрическим координатам как линейное преобразование:

О барицентрических координатах на пальцах

, Где

О барицентрических координатах на пальцах

— вектор из n барицентрических координат (кроме последней),

О барицентрических координатах на пальцах

— матрица преобразования.

Учитывая свойства барицентрического представления, если

О барицентрических координатах на пальцах

заменить один из векторов

О барицентрических координатах на пальцах

(

О барицентрических координатах на пальцах

), то мы получим вектор с нулевыми компонентами, кроме i-й, которая будет равна 1. Если матрица

О барицентрических координатах на пальцах

умножить на матрицу

О барицентрических координатах на пальцах

, составленный из столбцов

О барицентрических координатах на пальцах

, то мы должны получить единичную матрицу (матрицу с единицами на главной диагонали и нулями в остальных элементах):

О барицентрических координатах на пальцах

, Где

О барицентрических координатах на пальцах

,

О барицентрических координатах на пальцах

- единичная матрица (

О барицентрических координатах на пальцах

— Символ Кронекера: 1, если

О барицентрических координатах на пальцах

, в противном случае — 0).

Из (10) находим

О барицентрических координатах на пальцах

:

О барицентрических координатах на пальцах

Таким образом, имея набор точек с радиусами-векторами

О барицентрических координатах на пальцах

,

О барицентрических координатах на пальцах

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

О барицентрических координатах на пальцах

Используя эту матрицу, мы можем получить первое

О барицентрических координатах на пальцах

барицентрические координаты точки

О барицентрических координатах на пальцах

с радиус-вектором

О барицентрических координатах на пальцах

:

О барицентрических координатах на пальцах

Снова воспользовавшись соотношением (2), получим последнюю барицентрическую координату:

О барицентрических координатах на пальцах



Заключение

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

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

Потому что никакой магии здесь нет, это линейная алгебра в чистом виде! Теги: #python #математика #Алгоритмы #Numpy #математика на пальцах #матрица перехода #системы координат #инвариант

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.