Ограничивающий эллипс ограничен горизонтальной / вертикальной осями

Контекст: я пытаюсь вырезать топографическую карту в эллипс минимального размера вокруг нескольких ветряных турбин, чтобы минимизировать размер карты. Программа, выполняющая эту обрезку карты, может обрезать эллипсы, но только эллипсы с осями, выровненными по осям x и y.

Я знаю алгоритм для задачи ограничивающего эллипса (нахождение эллипса наименьшей площади, охватывающего набор точек).

Но как мне ограничить этот алгоритм (или создать другой алгоритм) таким образом, чтобы большая ось результирующего эллипса была ориентирована либо горизонтально, либо вертикально, в зависимости от того, что дает наименьший эллипс - и никогда не под углом?

enter image description here

Конечно, это ограничение делает результирующий эллипс больше, чем он «должен» быть, чтобы охватить все точки, но, тем не менее, это ограничение.

6
задан Community 23 May 2017 в 12:16
поделиться