Часто разрешены пересечения точек, поэтому вы можете изменить
1 2 4
*--* *
| \ /|
| X |
| / \|
*--* *
6 5 3
до
1 2 4
*--* *
| \ /|
| 3*6|
| / \|
*--* *
8 7 5
, где точки 3 и 6 совпадают. Если пересечения точек не разрешены, переместите одно из них на небольшое количество.
По моему опыту, большинство таких пересечений происходят из-за неправильного упрощения многоугольника, поэтому было бы лучше вернуться к источнику, если это возможно.