минимальный ограничивающий прямоугольник С#

У меня есть список точек, изображающих фигуру. В С# нужно найти минимальный ограничивающий прямоугольник (MBR) для этой фигуры. Однако все решения, которые мне удалось найти, приводят к тому, что MBR относится к осям x и y, а не к самой форме. Например, (форма не фиксирована, может быть любой);

MBR создается автоматически

Я действительно хотел бы что-то вроде этого;

MBR нарисован вручную

В настоящее время я использую getBoundingRectangle в согласии.net. Единственное, что я могу придумать, это попробовать повороты на 1-> 90 градусов, пока размер ограничивающего прямоугольника не будет минимизирован.

РЕДАКТИРОВАТЬ: я нашел здесь хорошую ссылку на проблему;

Наиболее подходящие прямоугольники

Здесь есть код решения в processing.js (см. GenBox);

Решение в processing.js Но я бы очень нравится решение С#


person P Hemans    schedule 12.11.2016    source источник
comment
Я не знаю С#, поэтому не могу ответить на этот вопрос, но распространенный способ - найти угол поворота фигуры, отменить поворот, чтобы фигура стала горизонтальной, использовать логику, чтобы найти MBR относительно x и оси Y, затем повторите вращение этой фигуры, чтобы получить окончательный ответ. Взгляните на этот пост, чтобы определить, как найти угол, который образует прямоугольная фигура, если вы знаете четыре угла. Вероятно, это можно адаптировать к имеющейся у вас форме: угол от точек прямоугольника"> stackoverflow.com/questions/13002979/   -  person rayryeng    schedule 12.11.2016
comment
Это нетривиальная тема. Я нашел некоторые алгоритмы для его вычисления здесь geometrictools.com/Documentation/MinimumAreaRectangle.pdf   -  person Bradley Uffner    schedule 12.11.2016
comment
@rayryeng спасибо, хотя на самом деле у меня нет 4 углов, даже показанная форма - это просто пример. Я отредактирую, чтобы было понятнее   -  person P Hemans    schedule 12.11.2016
comment
@BradleyUffner Хорошая ссылка. Спасибо, что поделился.   -  person rayryeng    schedule 12.11.2016
comment
@BradleyUffner хорошая ссылка, по крайней мере, она может пригодиться в качестве справки   -  person P Hemans    schedule 12.11.2016