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

时间:2010-04-12 16:36:14

标签: c# math oracle-spatial

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

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

2 个答案:

答案 0 :(得分:1)

m r = enter image description here m t = enter image description here

中心坐标:

enter image description here

enter image description here

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

编辑:旧链接已经死了。

答案 1 :(得分:0)

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