如果阴影中的
P
内部存在点p
,则多边形P
为星形在P
的边界上的每个点的em>。所有这些点p
的集合称为P
的内核。
例如,在五角星形中,如果光源被认为是无穷大,则可以从位于P
边界上的所有点的阴影到达中心点。星形多边形不一定是星形。
给定由其顶点以逆时针顺序指定的n-顶点,星形多边形P
,如何在线性时间内计算该多边形的凸包。
我对这个问题一无所知。我能想到的算法是O(n * log(n))。我无法理解如何使用这些额外的信息。
答案 0 :(得分:1)
我假设这是某种类型的家庭作业,无论是分配给一个班级还是为了你自己的学习,所以我只是给你一个提示:
这里的关键是逆时针顺序,或者更确切地说,顶点是一致顺序。
给定三个连续顶点p 1 ,p 2 和p 3 ,考虑由下式定义的两个向量:
V 1 =(p 1 - p 2 )和
V 2 =(p 3 - p 2 )。
我们对交叉积V 1 x V 2 了解多少?如果p 2 在多边形的边界上而不是在中心,那么该值将如何不同?对此的正确答案应该将我们的顶点分为两类。这些类对顺时针而不是逆时针顺序有何不同?