【问题标题】:How to determine the radius and center of a circle when only three noncollinear points are known?只知道三个非共线点时如何确定圆的半径和圆心?
【发布时间】:2010-04-12 16:36:14
【问题描述】:

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

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

【问题讨论】:

  • 可以给我3个点的坐标吗?我相信我有答案,但想先测试一下我的理论。

标签: c# math oracle-spatial


【解决方案1】:

mr = mt =

中心坐标:

感谢http://www.regentsprep.org/regents/math/geometry/gcg6/RCir.htm

编辑:旧链接已失效。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-12
      • 2021-04-09
      • 2014-01-12
      • 1970-01-01
      • 2012-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多