How to do Delaunay Triangulation and return an adjacency matrix?

12 次查看(过去 30 天)
I want to get back Adjacency Matrix from Delaunay Triangulised object...How to do .....

采纳的回答

Christine Tobler
Christine Tobler 2017-11-27
If your goal in computing the adjacency matrix is to construct a graph object, you can also do that (a bit) more directly:
% Construct tri as in Akira's code above
g = digraph(tri, tri(:, [2 3 1]));
A = adjacency(g);
A = A | A';
g = graph(A);
plot(g)

更多回答(1 个)

Akira Agata
Akira Agata 2017-11-27
By using the output variable of delaunay function, you can create adjacency matrix like:
% N: Number of points
N = 8;
x = rand(N,1);
y = rand(N,1);
% Delaunay triangulation
tri = delaunay(x,y);
% Calculate adjacency matrix
AdjMat = false(N);
for kk = 1:size(tri,1)
AdjMat(tri(kk,1), tri(kk,2)) = true;
AdjMat(tri(kk,2), tri(kk,3)) = true;
AdjMat(tri(kk,3), tri(kk,1)) = true;
end
AdjMat = AdjMat | AdjMat';

类别

Help CenterFile Exchange 中查找有关 Delaunay Triangulation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by