0

疑似コードの例を使用して、線と別の円に接する c1(c1x,c1y)特定の半径を持つ円を見つけるアルゴリズムを探しています。この円は同じ線に接しています。rlc2(c2x,c2y)

ありがとう、

4

2 に答える 2

3

一方、最初の円からの距離 r2 にある点の軌跡は、最初の円と同じ中心 ( C ) にある半径 (r1+r2) の円です。OTOH、それはr2 のオフセット距離で指定された線 ( AB ) に平行な線です。それらの交点 ( F ) は、求める円の中心です。

ここに画像の説明を入力

明らかに、そのような交差点が2つあります。

もう 1 つの可能性は、最初の円が線に接する点 ( D ) で 2 つの円が接するようにすることです。このような 2 番目の円の中心 ( E ) を見つけるには、(c1,r1) 円の半径を (図上で) 「下」に (r2-r1) だけ長くします。

つまり、 Eを見つけるには、点C(r2-r1)から(signed)の距離だけ「下に」行きます。Fを見つけるには、 Esqrt( (r1+r2)^2 - (r1-r2)^2 ) == 2*sqrt(r1*r2)からの距離を「右」に移動します。

于 2013-03-14T10:34:14.993 に答える
0

線上の任意の点を選択し、線の両側に長さ r の垂線を引きます。したがって、垂線の一方の端は線上にあり、もう一方の端は円の中心です。線上の別の点を選択し、同じことを行います。

于 2013-03-14T08:55:35.230 に答える