views:

327

answers:

2

Hello,

I have a list of vertices 3D, creating a polygon. I need to triangulate it and i use the cutting ears algorithm. My polygons are non-convex, so i need to find the concave angles in the polygon. I also dont know wich orientation are my polygons ( clockwise or counter clocwise)

Could anyone help me how to determine if is clockwise or counter clockwise

Thank you

A: 

use the cross product

ordering of polygon

Toad
+1  A: 

It's probably simplest to project the polygon into a convenient plane (say z=0) and then use a method like reinier's.

1) Set all z=0. This won't change the answer.

2) Use a method like reinier's or this one to determine whether the polygon is clockwise or counterclockwise, and therefore whether the cross products "should be" +z or -z.

3) Any vertex with a cross product that points in the "wrong" direction is concave.

Beta
Almost correct, except we need to check that the polygon is not in a plane perpendicular to the XY plane (in which case setting all z to 0 will degenerate it to a line).
Tarydon