如果只知道三个非共线点,如何确定圆的半径和中心?

我正在开发一个处理Oracle Spatial几何的C#程序。 当圆形数据存储在几何字段中时,仅存储三个非共线点以表示圆形。 问题是我需要在Google地图网页上使用这些数据,并且需要圆的中心点和半径(因为我的圆绘图function使用了该信息)。

任何人都可以帮助解决所涉及的数学并将所述数学转换为C#? 我认为 这个页面可能会有答案,但我很难跟上它。 给出了三个点的半径和中心公式,但是他们将变量定义为矩阵,然后我就迷失了。 我如何在代码中解决这个问题?

m r = 在此处输入图像描述 m t = 在此处输入图像描述

中心坐标:

在此处输入图像描述

在此处输入图像描述

由http://www.regentsprep.org/regents/math/geometry/gcg6/RCir.htm提供

编辑:旧链接已经死了。

你是对的,公式(28) – (34)可以回答你的问题。 需要注意的关键是(31) – (34)不仅仅是矩阵,而是矩阵的决定因素。 维基百科给出了计算3×3矩阵的行列式的公式,这是所需要的。