Znalezienie miejsca punktu w układzie współrzędnych(WinForms)

0

Potrzebuję zrobić program który im więcej punktów w jakimś obszarze będzie miał tym większe koło będzie wyrysowywane. Posiadam listę współrzędnych punktów, posiadam również minimalne i maksymalne współrzędne mojego okna( program robię w WinForms). No i wymyśliłem że podzielę tą moją formę na 100 jakby podform( prostokątów) i w zależności czy jakiś punkt będzie się znajdował w tym małym obszarze, to będę zwiększał licznik w tablicy 100 elementów. Na koniec jakiś switch i im więcej punktów w danym obszarze tym większe koło wyrzucę na ekran. No i problem jest taki że nie wszystkie punkty są uwzględnianie, nie mogę dojść dlaczego tak się dzieje. Może ktoś poratuje, albo podrzuci inny pomysł jak takie coś zrealizować ?

Tutaj wspomniany kod:

            bool isFound;
            int[,] tab = new int[10, 10];
            double widthX, widthY;
            double X, Y;
            widthX = (max.X - min.X) / 10.0;
            widthY = (max.Y - min.Y) / 10.0;
            X = min.X;
            Y = min.Y;


            foreach (Position eye in data)
            {
                isFound = false;
                for (int i = 0; i < 10; i++)
                {
                    X = min.X;
                    for (int j = 0; j < 10; j++)
                    {
                        if ((eye.X >= X && eye.X < X + widthX) && (eye.Y >= Y && eye.Y < Y + widthY))
                        {
                            tab[i, j] += 1;
                            isFound = true;
                        }
                        X += widthX;
                    }
                    if (isFound) break;
                    Y += widthY;
                }
            }
 
0

Do tego zwykła geometria wystarczy czy punkt.X < granicaObszaruOdPrawejX() && punkt.X > granicaObszaruGranicaOdLewej() i analogicznie dla y.

1 użytkowników online, w tym zalogowanych: 0, gości: 1