過三點的圓

2022-04-29 07:27:10 字數 1718 閱讀 1970

目錄版本

日期說明

0.12019-05-28

建立文件

在替換位於圓上的三個給定點之後,我們得到可由行列式描述的方程組:

\(\left|\begin

x^2+y^2 & x & y & 1\\

x_1^2+y_1^2 & x_1 & y_1 & 1\\

x_2^2+y_2^2 & x_2 & y_2 & 1\\

x_3^2+y_3^2 & x_3 & y_3 & 1

\end\right| = 0\)

係數$ a,b,c和d$可以通過求解以下行列式:

\(a=\left|\begin

x_1 & y_1 & 1\\

x_2 & y_2 & 1\\

x_3 & y_3 & 1

\end\right|\)

\(b=-\left|\begin

x_1^2+y_1^2 & y_1 & 1\\

x_2^2+y_2^2 & y_2 & 1\\

x_3^2+y_3^2 & y_3 & 1

\end\right|\)

\(c=\left|\begin

x_1^2+y_1^2 & x_1 & 1\\

x_2^2+y_2^2 & x_2 & 1\\

x_3^2+y_3^2 & x_3 & 1

\end\right|\)

\(d=-\left|\begin

x_1^2+y_1^2 & x_1 & y_1\\

x_2^2+y_2^2 & x_2 & y_2\\

x_3^2+y_3^2 & x_3 & y_3

\end\right|\)

設\(p(x_p,y_p)\)為任意一點, 在替換位於圓上的三個給定點之後,我們得到行列式:

\(p=\left|\begin

x^2+y^2 & x & y & 1\\

x_1^2+y_1^2 & x_1 & y_1 & 1\\

x_2^2+y_2^2 & x_2 & y_2 & 1\\

x_3^2+y_3^2 & x_3 & y_3 & 1

\end\right|\) 式1

\(\left\

p=0, 在圓上 \\

p>0, 在圓內\\

p<0, 在圓外

\end\right.\)

得新的\(p(0,0)\), \((x_0, y_0), (x_1,y_1), (x_2,y_2)\)代入式1得

\(p=\left|\begin

0 & 0 & 0 & 1\\

x_1^2+y_1^2 & x_1 & y_1 & 1\\

x_2^2+y_2^2 & x_2 & y_2 & 1\\

x_3^2+y_3^2 & x_3 & y_3 & 1

\end\right|=\left|\begin

x_1^2+y_1^2 & x_1 & y_1\\

x_2^2+y_2^2 & x_2 & y_2\\

x_3^2+y_3^2 & x_3 & y_3

\end\right|\) 式2

化簡後的計算公式更簡單。

三點定圓程式 matlab實現

function center,r solve circle pt1,pt2,pt3 effect solve the circle which across points pt1 pt2 and pt3 inputs pt1,pt2,pt3 x,y center the circle center...

halcon測試篇 三點擬合圓弧和圓

已知三個座標點,擬合對應的圓弧和圓。設定圓的寬度 dev set line width 3 dev set draw margin 確定三個點,在視窗上用滑鼠點三個點 draw point 200000 row1,column1 draw point 200000 row2,column2 draw...

三點確定乙個圓的計算方法

三點確定乙個圓的計算方法 最近在寫的乙個軟體需要根據三個座標點來計算乙個圓。因此花了點時間推導了相關的公式。這個推導不算太難,放在這裡主要是做個備忘。我們設乙個圓的圓心座標為 x 0 y x0,y x 0,y 半徑為 r rr。那麼這個圓的方程可以寫為 x x 0 2 y y 0 2 r 2 x x...