Даны координаты трех вершин треугольника АВС и точки D. Определить, является ли D внутренней точкой треугольни - C#
Формулировка задачи:
Даны координаты трех вершин треугольника АВС и даны координаты четвертой точки D. Определить, является ли эта точка внутренней точкой треугольника.
Решение задачи: «Даны координаты трех вершин треугольника АВС и точки D. Определить, является ли D внутренней точкой треугольни»
textual
Листинг программы
using System;
namespace ConsoleApplication1
{
class Program
{
struct Point
{
internal int x;
internal int y;
}
static void Main()
{
Point[] triangle = new Point[3]
{ new Point { x = 0, y = 0 },
new Point { x = 7, y = 5 },
new Point { x = 2, y = 3 } };
Point newPoint = new Point { x = 4, y = 5 };//четвёртая точка
int leftX = triangle[0].x;
int rightX = triangle[0].x;
int topY = triangle[0].y;
int bottomY = triangle[0].y;
for (int i = 0; i < triangle.Length;i++ )
{
if (triangle[i].x < leftX)
leftX = triangle[i].x;
else if (triangle[i].x > rightX)
rightX = triangle[i].x;
if (triangle[i].y < bottomY)
bottomY = triangle[i].y;
else if (triangle[i].y > topY)
topY = triangle[i].y;
}
if (newPoint.x < rightX
&& newPoint.x > leftX
&& newPoint.y > bottomY
&& newPoint.y < topY)
Console.WriteLine("Точка внутри!");
else Console.WriteLine("Точка вне или на границе!");
Console.ReadKey();//ждёт нажатия клавиши
}
}
}