判断一个点是否在指定区域内
来源:学生作业帮 编辑:神马作文网作业帮 分类:数学作业 时间:2024/11/15 23:12:40
判断一个点是否在指定区域内
我现在用五个点按照顺时针方向围成一个区域,任意给出一个点,要判断它是否在围成的区域内.关键问题在于,这五个点围成的区域可以是凸的,也可以是凹的,没有一个具体的标准,要根据实际情况而定.我该怎么判断呢?
我现在用五个点按照顺时针方向围成一个区域,任意给出一个点,要判断它是否在围成的区域内.关键问题在于,这五个点围成的区域可以是凸的,也可以是凹的,没有一个具体的标准,要根据实际情况而定.我该怎么判断呢?
首先你要会判断一个点在三角形内,和一个点在线段内
凸多边形:先给各个点顺时针编号,然后随便一个点,比如你,它去连接和他不相邻的那两个点,也就是3和4,这样就把一个凸五边形分成了3个三角形,然后判断这个点是否在这3个多边形内,同时判断是否在那两条线段上,就可以了.
凹多边形:先找到凹点,也就是那个凹进去的点,可以通过计算方位角的办法得到.然后用它他连接和他不相邻的那两个点,后面就和凸多边形一样了.
其实你可以先计算方位角,这样既可以判断是否为凹多边形,同时也可以得到那个凹点了.
这个算法效率可能不高,但是思路比较清晰吧
凸多边形:先给各个点顺时针编号,然后随便一个点,比如你,它去连接和他不相邻的那两个点,也就是3和4,这样就把一个凸五边形分成了3个三角形,然后判断这个点是否在这3个多边形内,同时判断是否在那两条线段上,就可以了.
凹多边形:先找到凹点,也就是那个凹进去的点,可以通过计算方位角的办法得到.然后用它他连接和他不相邻的那两个点,后面就和凸多边形一样了.
其实你可以先计算方位角,这样既可以判断是否为凹多边形,同时也可以得到那个凹点了.
这个算法效率可能不高,但是思路比较清晰吧