хм ... почитал, много думал.
Сегодня ночью не дождавшись ваших ответов написал небольшой пример. вот ссылка:
http://***********/1718219
Впринципе работает все, но пока подглючивает, уже есть идеи как доработать.
Как делал:
Идея с нейронными сетями отпала сразу, как не реальная по времени написания. Хотелось быстро =).
Принцип простой, в класс передается массив точек координат микролиний из которых рисуется фигура. Класс ищет углы, обрабатывая массив следующим образом. Берется произвольная точка в центре нарисованной фигуры и от неё мерятся длины к каждой точке, если у нас длина а < длины a + 1, и при этом а + 2 < a + 1, значит это угол.
В итоге класс отдает простой массив углов, по которым рисуется фигура. Да, еще сделал если фигура открытая, но точка конца и точка начала почти совпадает, то я её закрываю.