From fe5fa1141efeb7454c763dbd2645fb4ff04487a3 Mon Sep 17 00:00:00 2001 From: mzuenni Date: Tue, 28 Mar 2023 13:25:59 +0200 Subject: merged --- geometry/polygon.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'geometry/polygon.cpp') diff --git a/geometry/polygon.cpp b/geometry/polygon.cpp index f562b7a..409f765 100644 --- a/geometry/polygon.cpp +++ b/geometry/polygon.cpp @@ -10,13 +10,13 @@ double area(const vector& poly) { //poly[0] == poly.back() // Anzahl drehungen einer Polyline um einen Punkt // p nicht auf rand und poly[0] == poly.back() // res != 0 or (res & 1) != 0 um inside zu prüfen bei -// selbstschneidenden polygonen (definitions sache) +// selbstschneidenden Polygonen (definitions Sache) ll windingNumber(pt p, const vector& poly) { ll res = 0; for (int i = 0; i + 1 < sz(poly); i++) { pt a = poly[i], b = poly[i + 1]; - if (real(a) > real(b)) swap(a,b); - if (real(a) <= real(p) &&real(p) < real(b) && + if (real(a) > real(b)) swap(a, b); + if (real(a) <= real(p) && real(p) < real(b) && cross(p, a, b) < 0) { res += orientation(p, poly[i], poly[i + 1]); }} -- cgit v1.2.3