Geometry 如何确定垂直线段是否与圆相交?

Geometry 如何确定垂直线段是否与圆相交?,geometry,Geometry,这是一个编程作业,我对自己做这件事毫不犹豫,但是我对它的几何学很感兴趣。考虑到圆心和半径以及垂直线段的两个端点,我需要能够确定准确的交点,因为几何不是我的专长,所以我希望能得到一些帮助(即使是正确方向的指针也会很感激!) 这可能不是问这样问题的最佳场所,但我真的不确定还能在哪里寻求帮助,如果这违反了规则或其他什么,我表示歉意 编辑: 很抱歉,我真正遇到的问题是确定交叉点是什么(以及是否有一个或两个交叉点)。我已经尝试了给出的每个解决方案,它们对于确定是否有交叉点非常有效,但我的问题仍然存在,因为

这是一个编程作业,我对自己做这件事毫不犹豫,但是我对它的几何学很感兴趣。考虑到圆心和半径以及垂直线段的两个端点,我需要能够确定准确的交点,因为几何不是我的专长,所以我希望能得到一些帮助(即使是正确方向的指针也会很感激!)

这可能不是问这样问题的最佳场所,但我真的不确定还能在哪里寻求帮助,如果这违反了规则或其他什么,我表示歉意

编辑:

很抱歉,我真正遇到的问题是确定交叉点是什么(以及是否有一个或两个交叉点)。我已经尝试了给出的每个解决方案,它们对于确定是否有交叉点非常有效,但我的问题仍然存在,因为我的问题措辞错误。如果有人能帮上忙,我将不胜感激

试试看,这很好地涵盖了问题的几何方面

如果C=(x0,y0)是直线的中心,r是半径,k是横坐标,那么
y=y0+/-sqrt(r^2-(k-x0)^2),但如果r使用圆的中心[x,y],求出该特定直线与中心的距离,则没有交点。
现在如果这个距离是>圆的半径=>直线就不会相交。否则,它会的。

anirvan majumdar:很抱歉,这不是我所寻求的解决方案,尽管它回答了我最初的问题。谢谢你的回复!恩佐蒂布:很抱歉,但我真的不明白你所说的x0,y0是什么意思——它们是从0开始的下标吗?我习惯于在数学中下标从1开始,但我知道在大多数编程语言中下标从0开始,所以这可能是一个愚蠢的问题。另外,(x,y)坐标对中的横坐标是否正确?我查了一下,似乎是对的,但我不是很确定。无论如何,这回答了我原来的问题,所以谢谢你,但不幸的是,我忘了还包括我需要能够确定交叉点.x0,y0只是圆圈REG Sexton中心的两个坐标的名称:这看起来很像我需要的,但我的问题是,我的数学不是很好。如果判别式>0,是否意味着始终存在两个交点?我认为情况并非如此,但我不确定在这种情况下如何确定正确的交点。也许我需要再看一看,但它肯定很容易回答我原来的问题,所以谢谢你-但不幸的是,我忘了在原来的问题中添加实际上困扰我的部分。谢谢你的链接!