3、 真圓度資料分析的演算法:
3.4 最大內切圓(Maximum Inscribed Circle)
利用真圓度測定儀上的探針所量取的資料點 Pi﹙xi,yi﹚,若能找到一個參
一點,即為修正過後的圓心﹙a,b﹚。而圓心與這三點的距離即為修正後的半徑,
也需驗證是否滿足限制條件Ri = (xi −a)2 +(yi −b)2 ≥R,( 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