From 5b4656e55fcae93c05efb889bfc337d9590996ae Mon Sep 17 00:00:00 2001 From: Paul Jungeblut Date: Wed, 13 Jan 2016 19:50:20 +0100 Subject: Adding comment to the polygonArea function describing the sign of the result. --- geometry/formulars.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'geometry/formulars.cpp') diff --git a/geometry/formulars.cpp b/geometry/formulars.cpp index 49b7f94..1ab57f4 100644 --- a/geometry/formulars.cpp +++ b/geometry/formulars.cpp @@ -106,9 +106,9 @@ bool isCoplanar(pt a, pt b, pt c, pt d) { // Berechnet den Flächeninhalt eines Polygons (nicht selbstschneidend). double areaOfPolygon(vector &polygon) { // Jeder Eckpunkt nur einmal im Vektor. double res = 0; int n = polygon.size(); - for (int i = 0; i < (int)polygon.size(); i++) + for (int i = 0; i < n; i++) res += real(polygon[i]) * imag(polygon[(i + 1) % n]) - real(polygon[(i + 1) % n]) * imag(polygon[i]); - return 0.5 * abs(res); + return 0.5 * res; // Positiv, wenn Punkte gegen den Uhrzeigersinn gegeben sind. Sonst negativ. } // Testet, ob sich zwei Rechtecke (p1, p2) und (p3, p4) schneiden (jeweils gegenüberliegende Ecken). -- cgit v1.2.3