C# Point in PolygonC#

Место общения программистов C#
Ответить
Anonymous
 C# Point in Polygon

Сообщение Anonymous »

Я пытаюсь определить, находится ли точка внутри многоугольника. Полигон определяется массивом точечных объектов. Я могу легко выяснить, находится ли точка внутри ограниченной коробки многоугольника, но я не уверен, как сказать, находится ли она внутри реального многоугольника или нет. Если возможно, я бы хотел использовать только C# и Winforms. Я бы предпочел не позвонить в OpenGL или что -то, что нужно выполнить эту простую задачу.private void CalculateOuterBounds()
{
//m_aptVertices is a Point[] which holds the vertices of the polygon.
// and X/Y min/max are just ints
Xmin = Xmax = m_aptVertices[0].X;
Ymin = Ymax = m_aptVertices[0].Y;

foreach(Point pt in m_aptVertices)
{
if(Xmin > pt.X)
Xmin = pt.X;

if(Xmax < pt.X)
Xmax = pt.X;

if(Ymin > pt.Y)
Ymin = pt.Y;

if(Ymax < pt.Y)
Ymax = pt.Y;
}
}

public bool Contains(Point pt)
{
bool bContains = true; //obviously wrong at the moment :)

if(pt.X < Xmin || pt.X > Xmax || pt.Y < Ymin || pt.Y > Ymax)
bContains = false;
else
{
//figure out if the point is in the polygon
}

return bContains;
}


Подробнее здесь: https://stackoverflow.com/questions/424 ... in-polygon
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»