将内圆切向移动到外圆

时间:2011-01-15 16:02:05

标签: c# math geometry

如果两个圆相交,我怎样才能在Y轴上向上移动内圆,直到它与外圆相切

2 个答案:

答案 0 :(得分:2)

alt text

答案 1 :(得分:0)

如果圆圈的半径为R1R2,假定为R1 <= R2,那么当中心D之间的距离为R2 - R1时,它们将相切R2 + R1,取决于你是否想要一个在另一个内部。如果dx是中心之间的x距离,那么您需要

dy = sqrt( D * D - dx * dx )

移动一个圆圈,使中心之间的y距离为dy。请注意,如果圆圈不相交,dy将会很复杂,sqrt可能会出错。