Normal calculation bug

the unit_normal method only applys to convex polygons