Main Content

baryToCart

(Not recommended) Convert point coordinates from barycentric to Cartesian

baryToCart(TriRep) is not recommended. Use barycentricToCartesian(triangulation) instead.

TriRep is not recommended. Use triangulation instead.

Description

XC = baryToCart(TR,SI,B) returns the Cartesian coordinates XC of each point in B that represents the barycentric coordinates with respect to its associated simplex SI.

example

Examples

collapse all

Create a Delaunay triangulation for a set of points, calculate the location of the incenters, and then stretch the triangulation and compute the mapped locations of the incenters on the deformed triangulation.

Compute the Delaunay triangulation of a set of points.

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

                X: [8x2 double]
    Triangulation: [6x3 double]
      Constraints: []


Compute the barycentric coordinates of the incenters.

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

Plot the original triangulation and reference points.

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

Figure contains an axes object. The axes object contains 2 objects of type line. One or more of the lines displays its values using only markers

Stretch the triangulation and use baryToCart to compute the mapped locations of the incenters on the deformed triangulation.

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);

Plot the deformed triangulation and mapped locations of the reference points.

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

Figure contains 2 axes objects. Axes object 1 contains 2 objects of type line. One or more of the lines displays its values using only markers Axes object 2 contains 2 objects of type line. One or more of the lines displays its values using only markers

Input Arguments

collapse all

Triangulation representation, specified as a TriRep or DelaunayTri object.

Simplex indices, specified as a column vector. SI contains simplex indices that index into the triangulation matrix TR.Triangulation.

Barycentric coordinates to convert, specified as a matrix. B is a matrix that represents the barycentric coordinates of the points to convert with respect to the simplices SI. B is of size m-by-k, where m = length(SI), the number of points to convert, and k is the number of vertices per simplex.

Output Arguments

collapse all

Cartesian coordinates of converted points, returned as a matrix. XC is of size m-by-n, where n is the dimension of the space where the triangulation resides. That is, the Cartesian coordinates of the point B(j) with respect to simplex SI(j) is XC(j).

More About

collapse all

Simplex

A simplex is a triangle/tetrahedron or higher-dimensional equivalent.

Version History

Introduced in R2009a