Во-первых, я все же сформулирую условие почетче - так, как я его понял. Если автор темы обнаружит неточности или ошибки - пусть поправит.
Найти наименьший квадрат, содержащий заданный треугольник.Если понимать задачу именно так, то, имхо, решить ее непросто.. Аналитического решения я не вижу. С алгоритмическим тоже непросто, мне кажется. После некоторых раздумий, я решил, что можно опираться на одно утверждение (лемму
), а именно (я разбио его на две части) :
1. Если искомый квадрат найден, то одна из его вершин совпадает с вершиной треугольника (или они могут быть совмещены с выполнением условий).
2. Упомянутая вершина треугольника - та, в которой встречаются две наиболее длинные стороны его.
Алгоритм напрашивается следующий:
Берем вершину тр-ка, в которой встречаются две длинные стороны, и рисуем из нее два луча под прямым углом друг к другу. Затем проводим две прямые, параллельные им, через точки, принадлежащие треугольнику, наиболее удаленные от начальных лучей (соответственно от первого и второго). Проверяем полученный прямоугольник на равенство сторон.
Громоздко, однако.. Надо еще подумать.