C++ 关于n边正多边形如何确定点位置的最小线数

C++ 关于n边正多边形如何确定点位置的最小线数,c++,algorithm,geometry,C++,Algorithm,Geometry,有一个n边正多边形,有一个点。在最坏的情况下,一个人必须画多少条线来确定点是否在多边形内。例如,对于n=5,应该有4条线(最坏的情况)。我应该如何接近。这个问题让我很困惑。你到底在问什么 对于多边形内部的点测试,您只需投射一条线 从该点到任意方向的半轴,只需计算交点 下图中的蓝色箭头线 看 你是说这个半轴可以打多少线 在这种情况下,对于凸多边形2或4(如果碰到顶点,则为4) 对于N-线凹多边形,最坏情况下为N-1或N 在这种情况下,规律性没有任何意义,除非我误解了某些东西 可能是你想要的图

有一个n边正多边形,有一个点。在最坏的情况下,一个人必须画多少条线来确定点是否在多边形内。例如,对于n=5,应该有4条线(最坏的情况)。我应该如何接近。这个问题让我很困惑。你到底在问什么

  • 对于多边形内部的点测试,您只需投射一条线

    • 从该点到任意方向的半轴,只需计算交点
    • 下图中的蓝色箭头线
  • 你是说这个半轴可以打多少线

    • 在这种情况下,对于凸多边形2或4(如果碰到顶点,则为4)
    • 对于N-线凹多边形,最坏情况下为N-1或N
    • 在这种情况下,规律性没有任何意义,除非我误解了某些东西
    • 可能是你想要的图像会比文本更好
    • 我是这样看的:

    • 蓝点是你的测试点
    • 蓝色箭头为半轴铸造
    • 绿线是多边形的两条平行线

  • 在准确地画出某条线之后,您获得了什么信息?点的位置是wrt线