From 403a4e4f24cd95a703dac95513ca51c93c57bbe5 Mon Sep 17 00:00:00 2001 From: Arthur Bols Date: Wed, 22 May 2019 12:24:48 +0200 Subject: [PATCH] fix compare --- TMI-practicum/Program.cs | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/TMI-practicum/Program.cs b/TMI-practicum/Program.cs index 39337e2..72ce782 100644 --- a/TMI-practicum/Program.cs +++ b/TMI-practicum/Program.cs @@ -62,23 +62,37 @@ namespace TMI_practicum Console.WriteLine("start check {0}", i++); var circles = CreateRandomCircles(5); - var correctSol = SweepLineAlgorithm.Solve(circles); - var solved = SweepLineEffAlgorithm.Solve(circles); + var correctSol = SimpleAlgorithm.Solve(circles); + var solved = SweepLineAlgorithm.Solve(circles); foreach (var intersection in correctSol) { if (solved.Contains(intersection)) continue; - if (solved.Contains(new Intersection(intersection.X + 10e-15, intersection.Y)) || - solved.Contains(new Intersection(intersection.X - 10e-15, intersection.Y)) || - solved.Contains(new Intersection(intersection.X + 10e-15, intersection.Y + 10e-15)) || - solved.Contains(new Intersection(intersection.X + 10e-15, intersection.Y - 10e-15)) || - solved.Contains(new Intersection(intersection.X - 10e-15, intersection.Y - 10e-15)) || - solved.Contains(new Intersection(intersection.X - 10e-15, intersection.Y - 10e-15)) || - solved.Contains(new Intersection(intersection.X, intersection.Y + 10e-15)) || - solved.Contains(new Intersection(intersection.X, intersection.Y - 10e-15)) + if (solved.Contains(new Intersection(intersection.X + 1e-15, intersection.Y)) || + solved.Contains(new Intersection(intersection.X - 1e-15, intersection.Y)) || + solved.Contains(new Intersection(intersection.X + 1e-15, intersection.Y + 1e-15)) || + solved.Contains(new Intersection(intersection.X + 1e-15, intersection.Y - 1e-15)) || + solved.Contains(new Intersection(intersection.X - 1e-15, intersection.Y + 1e-15)) || + solved.Contains(new Intersection(intersection.X - 1e-15, intersection.Y - 1e-15)) || + solved.Contains(new Intersection(intersection.X, intersection.Y + 1e-15)) || + solved.Contains(new Intersection(intersection.X, intersection.Y - 1e-15)) ) continue; + bool found = false; + + foreach (var ints in solved) + { + if (Math.Abs(ints.X - intersection.X) < 1e-12 && + Math.Abs(ints.Y - intersection.Y) < 1e-12) + { + found = true; + break; + } + } + + if (found) continue; + Console.WriteLine(InCircles(circles)); failed = true;