2012-01-04 134 views
2

我想在C++中找到兩個cricles的相交點。我有兩個圓的中心和半徑。誰能幫我 ??C++中兩個圓的相交點

+0

開始:http://math.stackexchange.com/questions/39561/finding-the-intersecting-points-on-two-circles – 2012-01-04 12:45:05

+1

你知道如何計算交點嗎?如果不是,那麼這是一個數學問題,而不是一個編程問題。 – 2012-01-04 12:46:05

+0

@UlfLindback:如何在數學上找到截距的問題不一定與應該如何在代碼中完成截然相同。使用雙精度計算的數學公式 - 「更簡單」公式並不少見,即使使用浮點精度,也可以得出比更復雜的公式更低的結果。谷歌對這個主題的搜索發現了很多數學描述,但是我沒有看到任何解決精度問題的代碼示例,所以我不知道我看到的結果是否非常好。 – supercat 2015-01-31 16:55:15

回答

1

請參閱this link(滾動到「兩個圓的交點」)以獲得解決方案。甚至有C和Objective-C示例代碼。

1

「兩圓的交叉」 假設你有一個圓圈中心,它的半徑 你可以設置像

(x-x1)²+(y-y1)²=r1² 

您可以將公式爲兩個圓圈做這個

I x²-2xx1+x1²+y²-yy1+y1²=r1² 
II x²-2xx2+x2²+y²-yy2+y2²=r2² 

那麼您可以在我插入II和你去:)