What's wrong with my polygon area calculator code
Mostra commenti meno recenti
Hi, I wrote this code. It essentially calculates area of a polygon when given coordinates by shoelace formula. But it gives me wrong answer. Couldn't figure out why.
function AreaOfPolygon = gaussarea (xymatrice)
[r,c]=size(xymatrice);
x=xymatrice(:,1);
y=xymatrice(:,2);
calculation=0;
x1=xymatrice(1,1);
y1=xymatrice(1,2);
xLast=xymatrice(r,1);
yLast=xymatrice(r,2);
for i=1:r
if i==1
calculation=calculation+(x1*(y(i+1)-yLast));
elseif i==r
calculation=calculation+(xLast*(y1-y(i-1)));
else
calculation=calculation+(x(i)*y(i+1)-y(i-1));
end
end
AreaOfPolygon=abs(calculation)/2
end
1 Commento
John D'Errico
il 26 Ott 2016
I suppose there is a good reason why you do not just use polyarea?
Risposta accettata
Più risposte (0)
Categorie
Scopri di più su Logical in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
