问题引入
给定二维平面上三个不共线的点 A ( x 0 , y 0 ) , B ( x 1 , y 1 ) , C ( x 2 , y 2 ) A(x_0,y_0),B(x_1,y_1),C(x_2,y_2) A(x0,y0),B(x1,y1),C(x2,y2), 求出他们形成的圆的圆心和半径。
问题分析
计算几何问题常用数形结合解决,不妨设圆心 O ( x , y ) O(x,y) O(x,y),则满足三个点到圆心的距离相同。我们可以用两个等价方程来描述:
( x − x 0 ) 2 + ( y − y 0 ) 2 = ( x − x 1 ) 2 + ( y − y 1 ) 2 ( x − x 0 ) 2 + ( y − y 0 ) 2 = ( x − x 2 ) 2 + ( y − y 2 ) 2 (1) (x-x_0)^2+(y-y_0)^2=(x-x_1)^2+(y-y_1)^2\\\\(x-x_0)^2+(y-y_0)^2=(x-x_2)^2+(y-y_2)^2\tag1 (x−x0)2+(y−y0)2=(x−x1)2+(y−y1)2(x−x0)2+(y−y0)2=(x−x2)2+(y−y2)2(1)
现在转换为两个方程解两个未知数 x , y x,y x,y 的问题。上式化简后可得两个线性方程,使用克拉默法则可以容易解出答案。
公式推导
对公式 ( 1 ) (1) (1) 分别移项展开消去二次项,得到:
2 ( x 1 − x 0 ) x + 2 ( y 1 − y 0 ) y = x 1 2 − x 0 2 + y 1 2 − y 0 2 2 ( x 2 − x 0 ) x + 2 ( y 2 −