-1

Aを中心とする円aと、点Bを中心とする円bの2 つの円があります。可能な接線円のすべてまたはまったくない 2D 位置を計算する式は何ですか? 主な制約は、半径がすべての円で同じであることです。私の知る限り、解がないか (図 2)、解が 2 つある (図 1) はずです。解があるかどうか、またそれらの解の中心の位置( CD ) を調べる方法。

ここに画像の説明を入力 図 1 : ここでは 2 つのソリューションが可能です


ここに画像の説明を入力 図 2 : 解決策がありません!

更新(解決策):

1) A から B までの距離を計算 -> |AB| :

ここに画像の説明を入力

2) ソリューションが存在するかどうかを確認します。次の場合にのみ存在します。

ここに画像の説明を入力

3) 存在する場合は、ポイントABの間のハーフポイントを計算します。

ここに画像の説明を入力

4) 線分ABに正規化された垂直ベクトルを作成します。

ここに画像の説明を入力

5) この H 点から C 点までの距離を計算します -> |HC| :

ここに画像の説明を入力

6) 最後に、距離 |HC| で X から始まる (HC) に沿った点Cを計算します。

ここに画像の説明を入力

4

2 に答える 2

2

この質問は、より数学関連のサイトに移行する必要があると思います。

円aと円bがどんどん離れていったとき、これら 2 つの接線円がどこに行くのか想像してみてください。それらは線ABに近づきます。ABセグメントが4rに等しくなると、これら 2 つの正接円が重なります。今後、円abがさらに離れると、接する円はまったくなくなります。

これらの円の位置を計算したい場合は、中心間の距離が常に2rであると仮定してください:

正接円の中心となる xC と yC の解が 2 つ、1 つ、またはまったく得られないはずです。何かを台無しにしていないことを願っています。

ソリューション

解決策があることがわかっている場合 ( かどうかを確認してくださいd(A,B) <= 4r)、これらは 2 つの円の座標です。

http://pastebin.com/LeW7Ws98

ちょっと怖いですよね?しかし、それは機能しています。次の変数があります。

x_A, y_A- 円 A の座標

x_B, y_B- 円 B の座標

r- 半径。

以下のコメントのいずれかの値を使用してソリューションを確認しました。これらのソリューションをコピーしてコードにすぐに挿入し (sqrt 関数がある場合)、いくつかの変数を宣言した後に結果を取得できると思います。

これらの解決策はセーブの提案から大まかに導き出されたものですが、彼の回答の下にコメントすることはできませんでした.50未満の評判ポイントしかありません. ただし、とにかく私のシステムで有効であると確信しています。乾杯

于 2013-09-01T12:56:29.067 に答える