Проверка многоугольника на выпуклость

Для начала вспомним, какой многоугольник считается выпуклым.

Выпуклый многоугольник – многоугольник, все внутренние углы которого меньше 180 градусов.
Например, многоугольник ABCDE выпуклый, а FGHIJK - нет, так как угол FGH больше 180 градусов. (Рис. 1)
То есть, чтобы понять, является ли многоугольник выпуклым, надо посмотреть на его углы. Если считать угол против часовой стрелки, то все они должны быть либо от 0 (не включительно) до 180 градусов (не включительно).
Чтобы проверить это нам нужно посчитать векторные произведения векторов для каждых двух соседних сторон и проверить их знак.

Формула векторного произведения двух векторов:
$$ [\vec a \times \vec b] = |\vec a| * |\vec b| * \sin \alpha $$
Мы видим, что знак векторного произведения зависит лишь от знака синуса угла между векторами. Если считать угол против часовой стрелки, то синус угла будет отрицательным, если внутренний угол многоугольника больше 180 градусов. (Рис.2)
Как видно [AB, AC] и [BC, BD] (Рис.1) одного знака и так далее для всего многоугольника, значит он является выпуклым. Во втором же случае [FK, FJ] и [KJ, KI] (Рис. 1) разного знака и это уже достаточное условие, чтобы сказать, что многоугольник невыпуклый.