xmoonlight, круг тупо отобразится в круг со стопроцентным совпадением, ромб - это приплюснутый квадрат, квадратура круга давно решена. Описаный подход хорошо работает на хороших фигурах,...
...но можно придумать и плохую. Возьмём, например, остаточно тонкий бублик - равновеликий ему круг целиком поместится в дырке, где с точки зрения метода градиентного спуска - плато, с которого не слезть.
Впрочем, идея моделировать бублик равновеликим эллипсом - немного странная )
xmoonlight, не понимаю вопроса. Мы рисуем заведомо равновеликий эллипс. Погрешность может возникнуть из-за дискретности растровой картинки, но её легко оценить, с ней можно бороться путём апскейла и можно сделать более сбалансированной меру корявости - например, взять за неё площадь, получаемую xor'ом фигуры и эллипса.
С пережатым овалом - сам не знаю, что делать. И как он выглядит - тоже знаю. Топикстартер знает - вот пусть и разбирается )
xmoonlight, ну надо с чего-нибудь начать. Например, возьмём равновеликий испытуемой фигуре круг с центром в центре тяжести фигуры, и дальше методом градиентного спуска подбираем эксцентриситет и направление большей оси эллипса.
xmoonlight, смотри: если у нас растровая ситуация (а так и есть) - в качестве площади возьмём количество внутренних точек испытуемой фигуры. Мера корявости - площадь выступающих за эллипс выростов.
xmoonlight, ну ёлы-палы ( Алгоритм, например, предполагает меру своей сложности - т.н. метрика "О большое". Написанное тобой не позволяет её вывести - значит, алгоритмом не является.