2017-04-01 98 views
0

我知道公式知道,如果一個點就在裏面,外面和一個圓:https://math.stackexchange.com/q/198769這句話說明了我們必須比較dr(請讀帖,它只有5行)。如何知道點是否或多或少屬於一個圓?

但我只是想知道,如果一個點是一個圓。此外,這就是真正的問題:點是否有點內/圓外,我要考慮它的社交圈。

我怎麼能這樣做呢?我試圖在範圍內劃定d-r(即:比較)。例如:

如果(DR> -100 & &博士< 100){點在圓}

它的工作原理,用-100和100,用於與一個小半徑的圓(即:所有被有點外側的點/圓圈內被認爲是在圓上)。

但是對於大半徑的圓,只有一些點被認爲是在圓上(即:只有一些點在圓外/在圓內被認爲是在圓上)。 。

所以我想獨立於圓的半徑是所有的都有點外/圈子裏的點被認爲是上一圈。怎麼樣 ?

+0

您的問題*可能*特定於某些編程語言,您嘗試編寫代碼。在帖子的當前狀態中,很難推斷可能導致問題的原因(這可能是由於對代碼中使用的數據類型的誤解以及它們的限制)。 –

回答

2

您的絕對差值比較可能被寫短的

if Abs(d - r) < delta (i.e. 100) ... 

,但似乎需要相對差異取決於圓的半徑是這樣的:

if Abs(d - r)/r < reldelta (i.e. 0.001) ... 
1

從概率的角度來看,你可以定義一種距離圖(由@Mbo提出)採用相對距離並用它來建立每個點的概率分佈。概率將表示該點屬於該圈的可能性。直觀地說,越接近點,它越可能成爲圈子的一部分。例如:

rel_d = (d-r)/r; 

// P(x on the circle) = 1 - rel_d 
if(rel_d < 1){ 
    P_on_circle = 1 - rel_d; 
}else{ 
    P_on_circle = 0; 
} 
相關問題