• 沒有找到結果。

最大內切圓(Maximum Inscribed Circle)

3、 真圓度資料分析的演算法:

3.4 最大內切圓(Maximum Inscribed Circle)

利用真圓度測定儀上的探針所量取的資料點 Pi﹙xi,yi﹚,若能找到一個參

一點,即為修正過後的圓心﹙a,b﹚。而圓心與這三點的距離即為修正後的半徑,

也需驗證是否滿足限制條件Ri = (xia)2 +(yib)2R,( i = 1∼n )。如果 沒有符何上述條件時,則重複以上的步驟再修正圓心。

如果遇到以下兩種情形,演算法就要再行調整。

(1)一點尚在修正後之圓內,而圓周上有三個以上的資料點,然後其餘的資 料點皆在此圓的外面,如圖 34 所示。

圖 34、一點在內切圓內之示意圖

那麼取離圓心﹙a,b﹚最近的三個點就會發生無法取捨的情形,因為除了 確定圓內那個點要取之外,另外三個點皆在圓上,與圓心的距離皆相等,

這時就使用列舉法,即使用c32的方法,在三點中任取二個點與原外那一點 再重新找圓,然後比較這三個圓。

(a)如果此三圓中,有二個以上的圓將所有資料點都落在圓外,則從其中 選一個半徑較大的當作內切圓。

(b)如果此三圓中,只有一個圓將所有資料點都落在圓外,則選此圓當作 內切圓。

(c)如果此三圓中,皆無任何圓能把所有資料點都落在圓外,則從其中選 一個半徑較小的當作參考圓,重複上面的步驟繼續修正圓心。

同理,如果有 4 個點,甚至大於 4 個點同時在圓上,也利用此列舉法去取 捨下一個參考圓心。

(2)二點尚在修正後之圓內,而圓周上有三個以上的資料點,然後其餘的 資料點皆在此圓外頭,如圖 35 所示。

圖 35、二點在內切圓內之示意圖

那麼取離圓心﹙a,b﹚最近的三個點就會發生無法取捨的情形,因為除了 確定圓內那二個點要取之外,另外三個點皆在圓上,與圓心的距離皆相 等,這時就使用列舉法,即使用c13的方法,在三點中任取一個點與原外那 二點再重新找圓,然後比較這三個圓。

(a)如果此三圓中,有二個以上的圓將所有資料點都落在圓外,則從其中 選一個半徑較大的當作內切圓。

(b)如果此三圓中,只有一個圓將所有資料點都落在圓外,則選此圓當作 內切圓。

(c)如果此三圓中,皆無任何圓能把所有資料點都包含在裡面,則從其中 選一個半徑較小的當作參考圓,重複上面的步驟繼續修正圓心。

同理,如果有 4 個點,甚至大於 4 個點同時在圓上,也利用此列舉法去取 捨下一個參考圓心。

當找到一個外接圓能夠將所有的資料點都落在圓外,則此圓至少有包含三個 資料點,這三個資料點可以形成一個三角形,若此三角形為銳角(圖 36)或直角 三角形([圖 37)時,則此圓即為最大內切圓。當為銳角三角形時,圓心﹙a,b﹚

會在三角形內,當為直角三角形時,圓心﹙a,b﹚會在斜邊中點。

圖 36、內切圓三個資料點形成銳角三角形

圖 38、內切圓圓心沿中垂線修正的方式

由於捨棄的點為P2,修正後的圓心與P1、 ′

P 的距離相等,因此其他每個資3

料點皆可利用半徑相等的方程式來解出個別的 t 值:

2 2

2

相關文件