I'm using triangulation code that works pretty well (it processes polygons with holes and integrates with JTS) but apparently it doesn't respect the winding of triangles. Some output triangles are winded one way, some are winded another way.
Is it possible for me to determine and correct the winding of these deviant triangles? Possibly using information from neighbouring triangles, but the simpler the better of course.
For a triangle A B C, you can find the winding by computing the cross product (B - A) x (C - A). For 2d tri's, with z=0, it will only have a z component.
To give all the same winding, swap vertices C and B if this z component is negative.