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

时间:2017-12-20 13:17:39

标签: geometry processing

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

2 个答案:

答案 0 :(得分:1)

Stack Overflow实际上并不是针对一般的“我该怎么做”这类问题而设计的。这是针对具体的“我试过X,期待Y,但得到Z而不是”类型的问题。但我会尝试在一般意义上提供帮助:

您可以做的最好的事情是Google等circle triangle intersectioncircle triangle collision detection。你会发现很多结果,包括:

关键是,你不应该害怕做一些研究。尝试整理一个小示例程序(又名MCVE)并在遇到问题时提出更具体的问题。祝你好运。

答案 1 :(得分:0)

步骤:

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

    1. 检查CC是否在三角形内(使用交叉产品的符号)
    2. 如果不是:

      1. 使用标量积计算CC到三角形边(线段)上的投影。如果投影位于边缘内,则计算从CC到边缘的距离。