У меня есть две перекрывающиеся фигуры в моем приложении С#, определенные массивами Point
. Мне нужно найти точки, которые определяют форму, где эти два перекрываются. На этом изображении я знаю красную и зеленую точки, но мне нужны желтые точки.
Вот некоторый фиктивный код, который может помочь:
Point[] GetIntersection(Point[] red, Point[] green)
{
Point[] yellow = ?!?;
return yellow;
}
Конечно, есть способы, которыми вы могли бы сделать это, предполагая хорошие простые прямоугольники. На практике мне нужно уметь обрабатывать многоугольники и, может быть, даже круги (хотя я могу жить и без кругов).
Любые идеи? Я надеюсь, что есть отличная функция GDI+, которая просто выплюнет это.