Math 计算一个圆上两条切线的交点?

Math 计算一个圆上两条切线的交点?,math,geometry,raycasting,Math,Geometry,Raycasting,我尝试使用光线投射样式的函数来执行此操作,但无法获得任何可维护的结果。我想计算一个圆上两条切线的交点。这张图片应该有助于解释: 我在谷歌上搜索了stackoverflow这个问题,但找不到任何类似的问题。有什么帮助吗?如果变量是: C = (cx, cy) - Circle center A = (x1, y1) - Tangent point 1 B = (x2, y2) - Tangent point 2 从圆心到两点A和B的直线分别为CA=A-C和CB=B-C 您知道切线与从中心开始的

我尝试使用光线投射样式的函数来执行此操作,但无法获得任何可维护的结果。我想计算一个圆上两条切线的交点。这张图片应该有助于解释:


我在谷歌上搜索了stackoverflow这个问题,但找不到任何类似的问题。有什么帮助吗?

如果变量是:

C = (cx, cy) - Circle center
A = (x1, y1) - Tangent point 1
B = (x2, y2) - Tangent point 2
从圆心到两点
A
B
的直线分别为
CA=A-C
CB=B-C

您知道切线与从中心开始的直线垂直。在2D中,要得到一条垂直于向量的直线,只需取
(y,-x)
(或
(-y,x)

因此,您的两条(参数化)切线是:

L1(u) = A + u * (CA.y, -CA.x)
      = (A.x + u * CA.y, A.y - u * CA.x)

L2(v) = B + v * (CB.y, -CB.x)
      = (B.x + v * CB.y, B.x - v * CB.x)

然后计算两条线的交点,你只需要使用。

彼得·亚历山大的答案假设你知道圆心,这在你的图中并不明显。 以下是一个不知道中心的解决方案:

C
(在您的图中)是
A(x,y)
处切线与垂直于
AB
的线
L
的交点,将
AB
切成两半。线
L
的参数方程可推导如下:

AB
的中点是
M=((x+x2)/2,(y+y2)/2)
,其中
B(x2,y2)
。垂直于
AB
的向量是
N=(y2-y,x-x2)
。因此,直线
L
的向量方程为
L(t)=M+tn
,其中t是一个实数。

给定两条直线的方程式,你知道如何计算它们的交点吗?我想是的