Работая в Visual Studio в C# можно легко определить попадание точки с координатами (X, Y) в область прямоугольника или эллипса. Определяется это даже без применения каких либо геометрических формул, все очень просто - с помощью стандартных средств Visual Studio.
Давайте посмотрим как же будем это определять.
//Сначала определим переменные с шириной и высотой прямоугольника и эллипса. int RectangleWidth = 400; int RectangleHeight = 200; int EllipseWidth = 500; int EllipseHeight = 450; //Далее зададим им координаты размещения на форме. int coordR_X = 200; int coordR_Y = 200; int coordE_X = 100; int coordE_Y = 400; //<strong>Создадим прямоугольник</strong>. Rectangle RectangleDraw = new Rectangle(coordR_X, coordR_Y, RectangleWidth, RectangleHeight); //<strong>Создадим эллипс</strong>. Rectangle EllipseDraw = new Rectangle(coordE_X, coordE_Y, EllipseWidth, EllipseHeight); //Создадим графическую область для прямоугольника и эллипса. GraphicsPath GraphicsPathRectangle = new GraphicsPath(); GraphicsPath GraphicsPathEllipse = new GraphicsPath(); //Добавим в первую область созданный прямоугольник. GraphicsPathRectangle.AddRectangle(RectangleDraw); //Добавим во вторую область созданный эллипс. GraphicsPathEllipse.AddEllipse(EllipseDraw); //Создадим точку с координатами (100; 200). Point PointUser = new Point(100, 200);
Все, мы выполнили создание прямоугольника, эллипса и точки.
Теперь давай проверим определим в какую область попала точка.
С помощью объекта IsVisible можно это сделать.
if (GraphicsPathEllipse.IsVisible(PointUser)) MessageBox.Show("Попала в эллипс!"); if (GraphicsPathRectangle.IsVisible(PointUser)) MessageBox.Show("Попала в прямоугольник!");