exponenta event banner

cartToBary

Класс: TriRep

(Не рекомендуемый), Преобразовывают координаты точки от Декартова до барицентрического

Примечание

cartToBary(TriRep) не рекомендуется. Используйте cartesianToBarycentric(triangulation) вместо этого.

TriRep не рекомендуется. Использование триангуляции вместо этого.

Синтаксис

B = cartToBary(TR, SI, XC)

Описание

B = cartToBary(TR, SI, XC) возвращает барицентрические координаты каждой точки в XC относительно ее связанного симплексного SI.

Входные параметры

TRПредставление триангуляции.
SIВектор-столбец симплексных индексов, которые индексируют в матрицу триангуляции TR.Triangulation.
XCМатрица, которая представляет Декартовы координаты точек, которые будут преобразованы. XC имеет размер m-by-n, где m имеет length(SI), число точек, чтобы преобразовать, и n является размерностью пробела, где триангуляция находится.

Выходные аргументы

BМатрица размерности m-by-k, где k является количеством вершин на симплекс.

Примеры

Вычислите Триангуляцию Делоне набора точек.

x = [0 4 8 12 0 4 8 12]';
y = [0 0 0 0 8 8 8 8]';
dt = DelaunayTri(x,y)

Вычислите барицентрические координаты центров вписанной окружности.

cc = incenters(dt);
tri = dt(:,:);

Постройте исходную триангуляцию и контрольные точки.

figure
subplot(1,2,1);
triplot(dt); hold on;
plot(cc(:,1), cc(:,2), '*r'); 
hold off;
axis equal;

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

b = cartToBary(dt,[1:length(tri)]',cc);
y = [0 0 0 0 16 16 16 16]';
tr = TriRep(tri,x,y)
xc = baryToCart(tr, [1:length(tri)]', b);

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

subplot(1,2,2);
triplot(tr); 
hold on;
plot(xc(:,1), xc(:,2), '*r'); 
hold off;
axis equal;

Больше о

развернуть все