5

2D 平面上の 2 つの点と、これらの点の両方と交差する半径 r の円が与えられた場合、その円の中心を計算する式は何でしょうか?

円を配置できる場所が 2 つあります。任意の角度から始めて、それらの点の 1 つの周りで 2 つの点を結ぶ線を掃引するときに、中心が時計回りの方向に最初に遭遇する円が必要です。最初の部分の答えを見つけた後、それが私の問題の次の段階だと思います。

速度のために三角法なしで計算全体を実行できることを願っています。私は整数座標から始めて、整数座標で終わります。

4

3 に答える 3

8

ここで質問するのが適切かどうかはわかりませんが、

させて:

q = sqrt((x2-x1)^2 + (y2-y1)^2)
x3 = (x1+x2)/2
y3 = (y1+y2)/2

最初の円:

x = x3 + sqrt(r^2-(q/2)^2)*(y1-y2)/q
y = y3 + sqrt(r^2-(q/2)^2)*(x2-x1)/q  

2 番目の円:

x = x3 - sqrt(r^2-(q/2)^2)*(y1-y2)/q
y = y3 - sqrt(r^2-(q/2)^2)*(x2-x1)/q  

ここ

于 2011-02-06T15:20:44.253 に答える
3

A=(ax, ay)
B=(bx, by)
d=((bx-ax)^2 + (by-ay)^2)^(1/2) # AからBまでの距離
r=半径サークル

(2*r>d) 現実世界に解がない場合 - 複雑な解があります ;-)

(2*r=d) の場合、A と B の中間という 1 つの解があります。

A から B に線を引きます。
その線から中点に垂線を引き、r=(D^2 + (d/2)^2)^(1/2) となるように距離 D に垂線を引きます。必要に応じて、左または右を選択します。

于 2011-02-06T15:27:25.080 に答える
2

これはここで回答されています:数学博士に聞く: 2 点と半径から円の中心を見つける

これも興味深いかもしれません: Gamedev.net: Circle center given two points and radius .

于 2011-02-06T15:18:50.073 に答える