计算从线段末端到圆形边缘的距离的公式是什么?

Ed *_*rty 2 algorithm geometry distance

我有一个圆圈,里面有两个点,构成一个线段.如何计算从一个端点到线与其相交的圆的边缘的距离?

Bes*_*ska 9

我认为最简单的方法是找出线和圆的交点在哪里,然后只计算线段点与交点的距离.

所以,说你的圈子由等式描述

x^2 + y^2 = 5
Run Code Online (Sandbox Code Playgroud)

你的线段是像点

(1,3), (2,4)
Run Code Online (Sandbox Code Playgroud)

首先,您计算出直接在线段上的线的等式,在这种情况下,这将是

y = x + 2
Run Code Online (Sandbox Code Playgroud)

然后你将这个等式代入第一个等式,你就得到了

x^2 + (x+2)^2 = 5
Run Code Online (Sandbox Code Playgroud)

将其简化为

2x^2 + 4x - 1 = 0
Run Code Online (Sandbox Code Playgroud)

并通过四元公式求解.

您现在拥有两个交叉点的x坐标.从那里,插入线方程以获得y坐标.然后你可以做毕达哥拉斯的正常点距离计算.

sqrt ( (x1 - x2)^2 + (y1 - y2)^2 )
Run Code Online (Sandbox Code Playgroud)