如何计算内圆的tagent线后面的外圆上的点

时间:2017-03-14 09:38:32

标签: 2d geometry points

我的问题是关于计算2D空间中的点坐标。 我有两个圆圈 - 外部和内部,它们位于它们之间(内部位于外部的中间)。

我所知道的: - 两个圆圈的半径(R1,R2) - 空间中随机点(x)的2D坐标始终位于内圆之外

我想知道的是什么: - 位于外圆上的两个点(y,z)的二维坐标,位于随机点(x)的两条切线之后

以下是我需要的例证 enter image description here

1 个答案:

答案 0 :(得分:2)

让我们的圆'中心是坐标原点(0,0)(将其他坐标移动到真正的中心坐标),随机点为P,大圆点为Q,小半径为{{ 1}},较大的一个是r

我们可以建立一个从中心到切点的距离和交点的方程组,但它需要求解具有相当长系数的四次方程。

因此,首先找到从点P到具有三角函数的小圆的切线方程:

R

现在两个切点都能解决像

这样的二次方程
Dist = Sqrt(px^2+py^2)
tan_angle = ArcSin(r / Dist)
rot_angle = ArcTan2(py, px)

ta1 = rot_angle - tan_angle
ta2 = rot_angle + tan_angle

and tangent points are
t1x = r * sin(ta1)
t1y = - r * cos(ta1)

t2x = - r * sin(ta2)
t2y = r * cos(ta2)

对于未知参数s,得到两个解(px + s * (t1x - px))^2 + (py + s * (t1y - py))^2 = R^2 2并找到交点

s1,s

请注意,解决方案由四个点组成 - 两个切线,每个切线有两个交点。