This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.


Class: TriRep

(Not recommended) Convert point coordinates from barycentric to Cartesian


XC = baryToCart(TR, SI, B)


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.

Input Arguments

TRTriangulation representation.
SIColumn vector of simplex indices that index into the triangulation matrix TR.Triangulation
BB 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

XCMatrix of Cartesian coordinates of the converted points. 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).


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


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)

Compute the barycentric coordinates of the incenters.

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

Plot the original triangulation and reference points.

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

Stretch the triangulation and 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.

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

Was this topic helpful?