三角形の外接円の中心座標を求める

ピタゴラスの定理から

(x1 – Px)^2 + (y1 -Py)^2 = R^2・・・①
(x2 – Px)^2 + (y2 -Py)^2 = R^2・・・②
(x3 – Px)^2 + (y3 -Py)^2 = R^2・・・③

①-②
(x1 – Px)^2 – (x2 – Px)^2 + (y1 – Py)^2 – (y2 – Py)^2 = 0
まとめると
-2(x1 – x2)Px – 2(y1- y2)Py + x1^2 – x2^2 + y1^2 – y2^2 = 0

同様に①-③は
-2(x1 – x3)Px – 2(y1- y3)Py + x1^2 – x3^2 + y1^2 – y3^2 = 0

この二つの式は連立方程式なので、二元一次方程式のクラメル式を使う

a1x + b1y = c1
a2x + b2y = c2

のとき

x = (c1b2 – c2b1) / (a1b2 – a2b1)
y = (a1c2 – a2c1) / (a1b2 – a2b1)

で求まるので、

a1 : -2(x1 – x2)
b1 : -2(y1 – y2)
a2 : -2(x1 – x3)
b2 : -2(y1 – y3)
c1 : -(x1^2 – x2^2 + y1^2 – y2^2)
c2 : -(x1^2 – x3^2 + y1^2 – y3^2)

と当てはめていけば答えは

Px = ((x1^2 – x2^2 + y1^2 – y2^2)(y1 – y3) – (x1^2 – x3^2 + y1^2 – y3^2)(y1 – y2)) / (2(x1 – x2)(y1 – y3) – 2(x1 – x3)(y1 – y3))
Py = ((x1^2 – x3^2 + y1^2 – y3^2)(x1 – x2) – (x1^2 – x2^2 + y1^2 – y2^2)(x1 – x3)) / (2(x1 – x2)(y1 – y3) – 2(x1 – x3)(y1 – y3))

となります。

タイトルとURLをコピーしました