DelaunayTri

2 views (last 30 days)
dk
dk on 18 Oct 2011
Commented: Divyam on 8 Oct 2024
I already have a triangulation (x,y,z,tri). How can I create a DelaunayTri class without re-triangulating?

Answers (2)

Divyam
Divyam on 8 Oct 2024
Edited: Divyam on 8 Oct 2024
Hi @dk,
It is not possible to create a "DelaunayTri" object without re-triangulation. To create the "DelaunayTri " object you have to use the extracted points from the "triangulation" object. As of MATLAB R2024b, "DelaunayTri " class is not recommended and it's preferable to use the "delaunayTriangulation" class instead.
% Assume T is your Triangulation object
T = triangulation([1, 2, 3; 1, 3, 4], [0, 0; 1, 0; 0, 1; 1, 1]);
% Extract the points
points = T.Points;
% Create a DelaunayTri object
delaunayTriObj = DelaunayTri(points);
% Define points to check
P = [0.5, 0.5; 0.75, 0.75; 0.25, 0.25];
% Use pointLocation to find the triangles containing the points
triangleIndices = pointLocation(delaunayTriObj, P);
% Display the results
fprintf('Triangle indices for the query points: [%s]\n', join(string(triangleIndices),','));
Triangle indices for the query points: [2,2,1]
For more information regarding the "delaunayTriangulation" class, refer to the following documentation: https://www.mathworks.com/help/matlab/ref/delaunaytriangulation.html
  2 Comments
Walter Roberson
Walter Roberson on 8 Oct 2024
However, this series of steps involves re-triangulating, which the original poster hoped to avoid.
Divyam
Divyam on 8 Oct 2024
I edited the answer and explicitly pointed out that it isn't possible to create a DelaunayTri object without re-triangulating the points.
Thanks for pointing it out Walter!

Sign in to comment.


Walter Roberson
Walter Roberson on 8 Oct 2024
As of R2013a you can create a triangulation object, passing in the connectivity and x and y and z data.
Unfortunately, you cannot create a DelaunayTri object or delaunayTriangulation object without re-triangulating.

Categories

Find more on Delaunay Triangulation in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!