【发布时间】:2019-03-15 19:49:06
【问题描述】:
给定一个圆心 (Xc,Yc) 和半径 r 以及在数组内部具有顶点的多边形,使得 顶点[] = { (Xv1, Yv1) , ... , (Xvn, Yvn) } 其中 n 是顶点数。
我希望能够确定圆是否在多边形内。我假设(并且可以安全地假设)多边形中没有孔。
我要检查的唯一多边形是三角形和五边形。
到目前为止,我所做的是计算圆心是否在多边形内部。这个函数叫做isInside()。
如何检查圆是否完全在我正在检查的多边形内?摸一下就好了。
更具体地说,我在计算圆和多边形的关系时遇到了问题,这对于解决这个问题至关重要。我了解如何查找圆心是否在多边形内,但如果整个圆包含在多边形中,则不知道。
任何帮助:)
【问题讨论】:
-
这不是
c特有的,您对这个问题的处理方法是什么? -
你懂数学吗?
-
@Observer 正确。但是,我正在用 C 语言制作这个解决方案。我将编辑问题以删除标签。到目前为止,我的方法是确定圆心是否在多边形内部。在那之后,我不知道该怎么办。我试图找到圆的半径和圆的位置之间的关系,使其完全适合多边形。
-
在这种情况下,您的出发点是寻求数学方面的帮助。你不能为你不理解的东西编写程序。编程不是魔术——它要求你知道自己想做什么
-
我投票结束这个问题,因为它属于数学网站
标签: algorithm math collision-detection polygon bounds