Geometry 如何在二维空间中检查圆是否与三角形相交?

Geometry 如何在二维空间中检查圆是否与三角形相交?,geometry,processing,Geometry,Processing,这是我现在工作的一个项目所需要的。我必须处理的唯一信息是三角形顶点的坐标、圆心的坐标和圆的直径。我如何判断一个圆是否与二维空间中的三角形相接触/相交?我正在使用处理。步骤: 检查圆心(CC)到三角形每个顶点的平方距离 如果它们太大: 检查CC是否在三角形内(使用叉积符号) 如果没有: 使用标量积计算CC在三角形边(线段)上的投影。如果投影在边内侧,则计算从CC到边的距离 堆栈溢出并不是为一般的“我该怎么做”类型的问题而设计的。这是针对特定的“我尝试了X,期望是Y,但得到了Z”类型的问题。但我会尽

这是我现在工作的一个项目所需要的。我必须处理的唯一信息是三角形顶点的坐标、圆心的坐标和圆的直径。我如何判断一个圆是否与二维空间中的三角形相接触/相交?我正在使用处理。

步骤:

  • 检查圆心(CC)到三角形每个顶点的平方距离
  • 如果它们太大:

  • 检查CC是否在三角形内(使用叉积符号)
  • 如果没有:

  • 使用标量积计算CC在三角形边(线段)上的投影。如果投影在边内侧,则计算从CC到边的距离

  • 堆栈溢出并不是为一般的“我该怎么做”类型的问题而设计的。这是针对特定的“我尝试了X,期望是Y,但得到了Z”类型的问题。但我会尽力在一般意义上提供帮助:

    你能做的最好的事情就是谷歌之类的东西。您将发现大量结果,包括:


    关键是,你不应该害怕做一些研究。试着把一个小的示例程序(又名a)放在一起,如果你被卡住了,可以问一个更具体的问题。祝你好运。

    你能展示一下自己的尝试吗?@MBo我不知道怎么做。我还处于头脑风暴阶段,还没有对任何想法进行测试。我想如果我检查它是否穿过任何边缘,我就能做到。这会更简单。我只需要检查X是否交叉了一些位,而Y是在一个特定的范围内。你能简单地重新表述一下吗?边交叉是这里最耗时的计算,所以首先按照我给出的顺序检查更简单的情况。