A.7.17 Барицентрические координаты? Это просто!

#dudvstud #математиканапальцах #войтивайти
Телеграм: t.me/dudvstud
Плейлисты, литература, помощь проекту и прочее: dudvstud.wixsite.com/website
Станьте спонсором канала, и вы получите доступ к эксклюзивным бонусам. Подробнее:
/ @dudvstud9081
Приглашаю посетить канал моего сына: / @superdarik4669
Урок подготовлен при поддержке меценатов Evgeny Zychkov и MultiPass!
Барицентрический координаты: они выглядят необычно, они многих пугают... Но они красивы и незаменимы в некоторых задачах! И мы увидим сегодня, что они совсем не сложные!
Статья о барицентрике на Хабре тут: habr.com/ru/post/471194/

Пікірлер: 53

  • @Reoptima
    @Reoptima3 жыл бұрын

    Просто комментарий в поддержку канала, спасибо огромное))

  • @dudvstud9081

    @dudvstud9081

    3 жыл бұрын

    Спасибо!

  • @0vercringer993
    @0vercringer9933 жыл бұрын

    Я зашел пока только на дискретную математику, но, судя по всему, канал отличный. Спасибо.

  • @dudvstud9081

    @dudvstud9081

    3 жыл бұрын

    Спасибо за отзыв :)

  • @0x4f6c
    @0x4f6c3 жыл бұрын

    Отличная лекция! Всё чётко и понятно. Стоит добавить, что сделать материал ещё лучше и интереснее можно, разбавив его реальными жизненными (не умозрительными) примерами использования. Например, барицентрические координаты используются в алгоритмах рендеринга для определения попал луч в треугольник полигональной модели или нет (рейкастим на плоскость треугольника и выражаем точку пересечения в барицентрических координатах на вершинах этого треугольника, и дальше как рассказано в лекции, если все 0

  • @dudvstud9081

    @dudvstud9081

    3 жыл бұрын

    Спасибо!

  • @anzarsh
    @anzarsh8 ай бұрын

    6:28 ну наконец-то мы на ты перешли, давно пора ;)

  • @dudvstud9081

    @dudvstud9081

    8 ай бұрын

    :))

  • @anzarsh
    @anzarsh8 ай бұрын

    Еще вопросик по поводу нахождения координат и определению местоположения точки относительно многогранника с вершинами P_i. Так как у нас n+1 векторов в n-мерном пространстве мы можем выразить один из векторов через другие, соответственно выразить коэффициент при этом векторе через другие. Получается что одну и ту же точку можно выразить через бесконечное количество разных координат. Соответственно можно точку лежащую внутри многогранника выразить через координаты некоторые из которых будут больше 1 или меньше 0.

  • @dudvstud9081

    @dudvstud9081

    8 ай бұрын

    Эммм… Не совсем :) Мы не можем один вектор выразить через другие без потери размерности пространства. Через барицентрические координаты двух точек можно выразить любую точку, лежащую на прямой, проходящей через эти точки. Но мы не можем получить вершину треугольника через две другие вершины. Но это можно сделать с потерей размерности: мы можем найти проекцию одной вершины треугольника прямую, проходящую через две другие вершины! И она может оказаться за пределами стороны треугольника ( иметь веса меньше 0 и больше 1). Если в треугольнике есть тупой угол :)

  • @anzarsh

    @anzarsh

    8 ай бұрын

    @@dudvstud9081 тогда пример) на плоскости берем три точки: (1,2), (2,1), (1,1) - они не лежат на одной прямой, в этом плане все норм, теперь попробуем выразить точку (3,3) через барицентрические координаты, это можно сделать например так (1, 1, 0) или (2, 2, -3) или (0, 0, 3). Все эти координаты дают в итоге одну и ту же точку.

  • @dudvstud9081

    @dudvstud9081

    8 ай бұрын

    @@anzarsh Наборы значений номер 1 и номер 3 не будут являться барицентрическими координатами, так как суммы не будут равны 1. Подходит только вариант (2, 2, -3): 2 + 2 - 3 = 1

  • @anzarsh

    @anzarsh

    8 ай бұрын

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

  • @user-bx8tu3sj3w
    @user-bx8tu3sj3w6 ай бұрын

    Подскажите , пожалуйста, если у нас есть двумерное пространство. И у нас есть точки - P1, P2, P3. С них мы делаем 2 вектора: Q1=P1-P3 и Q2=P2-P3 , дальше складываем матрицу 2 * 2. Каким образом мы находим x и y каждого из них, если у нас не задана система координат и мы не знаем что считать за 0 (от чего мы отталкиваемся) ?. Вектор С == Сi от 1,n (21:12) - это тоже матрица 2*2 (представление точки A уже в Декртовой системе координат) ? И еще один вопрос: здесь - 5:16 , проекция Pn+1A на вектор b1 - это должен быть опущен перпендикуляр к вектору b1 или я что-то не так понял?

  • @dudvstud9081

    @dudvstud9081

    5 ай бұрын

    По поводу первого вопроса: у нас система координат не "не задана", а "не важно какая она": Она может даже меняться. Например, эти точки на текстуре, которая будет деформироваться. Поэтому мы и хотим отказаться от этой системы координат и привязаться к набору точек (например, это треугольник на текстуре). Поэтому мы в какой-то момент используем координатную систему, откуда может использовать х и y, но потом они больше не используются, когда мы рассчитали барицентрические координаты. Второй вопрос про проекции: я там вроде сказал, что это уловное построение. Проекция строится ортогональной только в ортогональной системе координат. В косоугольной системе координат проекции не ортогональные. Если у нас есть косоугольная система координатами осями (p, q, r) и точка A в ней, то проекции на оси будем искать так: проекция точки на плоскость qr Aqr - это пересечение плоскости qr и прямой, проходящей через нашу точку и параллельной оси p. Тогда проекция точки на ось p Ap = A - Aqr. Точка дожна строиться из баисных векторов по правилу параллеллограмма: kzread.info/dash/bejne/oGau0MNumLPUp7w.htmlsi=bVo-TqzBW5U8cYKQ

  • @user-bx8tu3sj3w

    @user-bx8tu3sj3w

    5 ай бұрын

    Спасибо за помощь ! Мой косяк с косоугольной системой координат ( @@dudvstud9081

  • @user-bx8tu3sj3w

    @user-bx8tu3sj3w

    5 ай бұрын

    Я наверное вас задолбал , но никак не заходит : Q^-1 * B = C, тогда Q^-1 * (A - Pn+1) = С, с этого вытекает что Q^-1 * Q * C = C - замкнутый круг, С не известна )))😆🤔 @@dudvstud9081

  • @anzarsh
    @anzarsh8 ай бұрын

    15:10 разве это средневзвешенное, каждый по отдельности C_i не обязан же быть меньше нуля, например 2 + 2 + (-3) дают в сумме тоже один?

  • @dudvstud9081

    @dudvstud9081

    8 ай бұрын

    Частично согласен с замечанием. В частном случае, если точка А принадлежит многограннику с вершинами P_i. Тогда все барицентрические координаты будут иметь значения от 0 до 1 и их сумма будет равна 1. Это и будет ситуация, соответствующая понятию «средневзвешенное». Но! Это если мы от весов требуем быть положительными (как проценты). На самом деле, веса могут быть любыми, главное, чтобы их сумма не была равна 0. x_mean = sum(x_i*w_i)/sum(w_i) - это и будет взвешенное среднее. А если сумма весов равна 1 (как у нас и получается), то среднее взвешенное еще проще становится: x_mean = sum(x_i*w_i)

  • @TheSlonik55
    @TheSlonik552 жыл бұрын

    Почему точка Начала координат - вектор? У неё одна мерность. А если она вектор, то тогда относительно чего она вектор? А если не вектор, то как складывать точку с вектором?

  • @dudvstud9081

    @dudvstud9081

    2 жыл бұрын

    Я не совсем понял Ваш вопрос. Любую точку можно описать радиус-вектором.отличие только в невозможности применить к вектор параллельный перенос. В аффинном пространстве их различают единицей или нулём в последнем значении. Прибавить вектор к точке - это прибавить вектор к радиус-вектор точки.

  • @acd2377
    @acd2377 Жыл бұрын

    20:49. У меня возможно тупой вопрос, но как найти обратную матрицу для |Q1,Q2,..,Qn| ? Обратную матрицу же можно искать только для квадратных матриц? Тут не хватает небольшого примера, чтобы даже такие тугие как я поняли как эти координаты искать)

  • @dudvstud9081

    @dudvstud9081

    Жыл бұрын

    Q1…Qn - это вектора столбцы. Каждый из них длины n. Из них составляется квадратная матрица: каждый из Qi становится i-м столбцом матрицы. Для нее находится обратная.

  • @acd2377

    @acd2377

    Жыл бұрын

    @@dudvstud9081 Спасибо большое за ответ. Но я все равно немного не соображаю. Допустим мы работаем в двухмерном пространстве. И у нас есть 4 таких вектора. Получается, если Qi это вектор столбец, то матрица |Q1,Q2,Q3,Q4| будет выглядеть как-то так: |x1,x2,x3,x4| |y1,y2,y3,y4| ? Тогда она не получается квадратной. Или вы имеете ввиду, что эта матрица будет выглядеть так: |Q1,0,0,0| |0,Q2,0,0| |0,0,Q3,0| |0,0,0,Q4| ? Или я вообще не туда думаю?)

  • @dudvstud9081

    @dudvstud9081

    Жыл бұрын

    @@acd2377 немного не туда думаете :) Если мы работаем в двумерном пространстве, то для создания барицентрического базисап мы должны взять ровно три (2+1) точки, назовем их P1, P2, P3. Из них делаем 2 вектора Q1=P1-P3 и Q2=P2-P3. Из них составится матрица 2 на 2.

  • @dudvstud9081

    @dudvstud9081

    Жыл бұрын

    2:20

  • @acd2377

    @acd2377

    Жыл бұрын

    @@dudvstud9081 Аааа, теперь-то все встало на свои места. Всё сошлось. Спасибо большое.)

  • @ilya_fimin
    @ilya_fimin Жыл бұрын

    Сложно🙃, надо еще раз посмотреть

  • @dudvstud9081

    @dudvstud9081

    Жыл бұрын

    Надеюсь, все станет понятнее :)

  • @michelecappelchi7599
    @michelecappelchi7599 Жыл бұрын

    а как найти пррекции С1 и С2?

  • @dudvstud9081

    @dudvstud9081

    Жыл бұрын

    Уточните вопрос: проекции на что? Может время укажите, к какому моменту видео относится Ваш вопрос?

  • @michelecappelchi7599

    @michelecappelchi7599

    Жыл бұрын

    @@dudvstud9081 можете показать или дать ссылку, как найти барицентрические координаты для точки по декартовым координтам и из барицентрических координат получить декартовы. если можно для 3-4 мерного пространства?

  • @dudvstud9081

    @dudvstud9081

    Жыл бұрын

    @@michelecappelchi7599 для построения барицентрических координат в трёхмерной пространстве нам нужны 4 точки. По ним сможем построить систему координат. В четых мерном пространстве нужны 5 точек, в n- мерном - n+1 точка. А сама формула на 20:40 примерно.

  • @michelecappelchi7599

    @michelecappelchi7599

    Жыл бұрын

    @@dudvstud9081 вы уверены, что это видео про барицентрические координаты?

  • @dudvstud9081

    @dudvstud9081

    Жыл бұрын

    @@michelecappelchi7599 эммм, а про что? :)

  • @user-ro3qo7wd8h
    @user-ro3qo7wd8h Жыл бұрын

    B = Q^1*(A-Pn-1), обратную матрицу Q формируем из координат базисных точек P, заданных в какой то координатной системе. "A" как мы найдем? это координата точки в барицентрической системе, что бы ее найти нужны веса, которые заданы матрицей B, замкнутый круг получается, обьясните.

  • @dudvstud9081

    @dudvstud9081

    Жыл бұрын

    А - это точка, для которой мы ищем барицентрический координаты относительно P. Она дана нам в той же системе, что и P. Наша задача состоит в том, чтобы выразить ее через веса B, без привязки к координатам, в которых это все изначально задано.

  • @user-ro3qo7wd8h

    @user-ro3qo7wd8h

    Жыл бұрын

    @@dudvstud9081 если в декартовой системе координат в качестве базисной точки Рn+1 выбрать начало координат (0,0,0) оставшиеся базовые точки будут образовывать треугольник, тогда выражение упроститься В = Q^1*A и считая матрицу весов B мы определяем тем самым принадлежность точки A треугольнику с координатами ( P1,P2,P3) так получается?

  • @dudvstud9081

    @dudvstud9081

    Жыл бұрын

    @@user-ro3qo7wd8h точка с координатами (0, 0, 0). Это тоже точка в трёхмерной пространстве. Выражение упростится, но мы прежнему сможем определять принадлежность точки к тетраедру, одна из вершин которого в начале координат.

  • @user-ro3qo7wd8h

    @user-ro3qo7wd8h

    Жыл бұрын

    @@dudvstud9081 ну это получается через матричное уравнение ищется вектор весов, на хабре есть статья по компьютерной графике, там вектор весов ищется через векторное уравнение, если даны три точки А,B,C, и искомая P, то что бы найти вектор Б-координат [u,v,1] нужно найти векторное произведение векторов [ABx, ACx, PAx] и [ABy, ACy, PAy] и получившийся вектор делиться на его третью компоненту и это будет [u, v, 1]

  • @dudvstud9081

    @dudvstud9081

    Жыл бұрын

    @@user-ro3qo7wd8h результат должен получиться иденттчный

  • @rupertjunior2070
    @rupertjunior20702 жыл бұрын

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

  • @dudvstud9081

    @dudvstud9081

    2 жыл бұрын

    Спасибо за мнение. Про точки на одной прямой я говорил примерно тут 21:40.

  • @karabasbarabas2000
    @karabasbarabas20002 жыл бұрын

    Че то прям не зашло...в конце удивился что у точки на плоскости три координаты...пример/задача какая-нибудь бы не помешала. Это вообще из аналитической геометрии? Там можно найти информацию по ним?

  • @dudvstud9081

    @dudvstud9081

    2 жыл бұрын

    Это скорее все-таки из линейной алгебры. У точки на плоскости действительно 3 барицентрические координаты. Потому что ее положение можно вычислить по 3-м "базисным" точкам. Пример - вычисление положения абонента по 3-м базовым станциям в мобильной сети (так и называется: триангуляция).

Келесі