我们可以用叉积"暗中观察" 点是否在直线 的顺时针或逆时针方向上: ∵ 的叉积指向显示的前方,∴ 点在逆时针方向。 ∵ 的叉积指向显示的后方,∴ 点在顺时针方向。 0x02 交叉点(Intersection) 当每条线的端点位于另一条线的不同侧面时,两条线就会交叉: Ⅱ. 算法讲解部分 0x00 判断内点是否在多边形内(Inne...
这个系列似乎反响不错, 所以我继续水下去 (bushi)。本篇博客是关于经典的 Cross Product and Convex Hull (向量叉积和凸包)的,我们将介绍引射线法,葛立恒扫描法。在讲解之前我会对前置知识做一个简单的介绍,比如向量叉积,如何确定直线是在顺时针上还是逆时针上等。
那么,如果有奇数测试点每边的节点数,那就说明它在多边形内。如果测试点的每一侧都有偶数个节点,那么它在多边形之外。 在本示例中,测试点左侧有5个节点,右侧有3个节点。由于 5 和 3 是奇数,该测试点在多边形内。(注意:该算法不关心多边形是顺时针还是逆时针跟踪) 0x01 计算多边形的面积 ? 思路: 按逆时针方向...