Для чего используются барицентрические расчеты? - PullRequest
2 голосов
/ 20 мая 2011

Я смотрел на барицентрический метод XNA, и описания, которые я нахожу в Интернете, довольно непрозрачны для меня.Пример был бы хорош.Было бы здорово просто объяснить на английском ... какова цель и как это можно использовать?

Ответы [ 2 ]

2 голосов
/ 20 мая 2011

На практике барицентрические координаты точки P относительно треугольника ABC - это просто ее веса (u, v, w) в соответствии с вершинами треугольника, так что P = u * A + v * B + w * C , Если точка лежит в треугольнике, вы получили u, v, w в [0,1] и u + v + w = ​​1.

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

Для вычисления барицентрических координат точки P (u,v,w) в треугольнике ABC вы можете использовать:

u = [PBC] / [ABC]
v = [APC] / [ABC]
w = [ABP] / [ABC]

, где [ABC] обозначает площадь треугольника ABC.

2 голосов
/ 20 мая 2011

Из Википедия :

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

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

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

Модификаторы Subsurf не так сложно визуализировать:

Subsurf modifier

Куб - это оригинальная форма, а гладкая сетка внутри - это «недоделанный» куб, я думаю, с глубиной рекурсии три или четыре.


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

Вот небольшой набор слайдов, на которые вы можете посмотреть: http://www8.cs.umu.se/kurser/TDBC07/HT04/handouts/HO-lecture11.pdf

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...