Сразу возникает вопрос - точки идут подряд или вразнобой? Если точки идут подрят (а так оно скорее всего и есть), то всё просто делается:
1. высчитываем расстояния между точками вот таким вот образом:
Код:
_length := sqrt(sqr(x1-x2)+sqr(y1-y2));
2. дальше смотрим:
2.1 все расстояния равны: - смотрим диагонали (если равны - квадрат, если нет - ромб)
2.2 равны расстояния между двумя парами точек + равны диагонали - трапеция.