We introduce k-star-shaped polygons, polygons for which there exists at least one point x such that for any point y of the polygon, segment xy crosses the polygon's boundary at most k times. The set of all such points x is called the k-kernel of the polygon. We show that the maximum complexity (number of vertices) of the k-kernel of an n-vertex polygon is (n2 ) if k = 2 and (n4 ) if k 4. We give an algorithm for constructing the k-kernel that is optimal for high complexity kkernels. Finally, we show how k-convex polygons can be recognized in O(n2