Effacer les filtres
Effacer les filtres

Finding Areas for Constrained 2D Delaunay Triangulation

5 vues (au cours des 30 derniers jours)
Dimo Iordanov
Dimo Iordanov le 2 Fév 2021
Hello,
I am having issues with finding the coordinates and the areas of a constrained 2D delaunay triangulation. I have managed to do that if the problem is not constrained, but the constrain gives strange answers for my vertixes, and that makes hard for me to find the areas.
Thanks for the help!
The code that I am uploading is an example that I took from the internet, since it is slightly simpler than my original code.
figure()
axis([-1 17 -1 6]);
axis equal
P = [0 0; 16 0; 16 2; 2 2; 2 3; 8 3; 8 5; 0 5];
C = [1 2; 2 3; 3 4; 4 5; 5 6; 6 7; 7 8; 8 1];
DT = delaunayTriangulation(P,C);
patch(P(:,1),P(:,2),'-r','LineWidth',2,'FaceColor',...
'none','EdgeColor','r');
% Compute the in/out status.
IO = isInterior(DT);
hold on;
axis([-1 17 -1 6]);
triplot(DT(IO, :),DT.Points(:,1), DT.Points(:,2),'LineWidth', 2)
hold off;
v1 = P(tri(:,2), :) - P(tri(:,1), :);
  1 commentaire
darova
darova le 5 Fév 2021
Can you calculate area of each triangle?

Connectez-vous pour commenter.

Réponse acceptée

Dimo Iordanov
Dimo Iordanov le 9 Mar 2021
Yeah I managed to do that by using the code below.
for i=1:9
x1 = DT.Points(DT.ConnectivityList(i,:),:);
area(i) = 1/2.*abs((x1(2,1)-x1(1,1)).*(x1(3,2)-x1(1,2))-(x1(3,1)-x1(1,1)).*(x1(2,2)-x1(1,2)));
b=area.*[1; 1; 1; 1; 1; 1; 1; 1];
end

Plus de réponses (0)

Catégories

En savoir plus sur Delaunay Triangulation dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by