To calculate the angles of the Delaunay triangles
Ältere Kommentare anzeigen
I am trying to calculate the 3 angles of each triangle generated by Delaunay triangulation. For example, I have already obtained the area and the perimeter of each triangle. But I also wanna calculate the angles of each triangle. Anyone help?
Akzeptierte Antwort
Weitere Antworten (2)
Michael Haderlein
am 28 Aug. 2014
I like that question. I'm curious if there's a faster solution (maybe even a built-in function I don't know), but my code looks like this:
x=rand(5);
y=rand(5);
TRI=delaunay(x,y);
X=x(TRI);
Y=y(TRI);
a=zeros(size(X));
for cnt=1:3
a(:,cnt)=abs(diff(angle(bsxfun(@minus,X(:,[1:cnt-1 cnt+1:end]),X(:,cnt))+1i*bsxfun(@minus,Y(:,[1:cnt-1 cnt+1:end]),Y(:,cnt))),[],2));
end
This should work but please check for testcases if it's really the case.
1 Kommentar
ZhG
am 28 Aug. 2014
ZhG
am 28 Aug. 2014
0 Stimmen
Kategorien
Mehr zu Delaunay Triangulation finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!