c++ 圆上任意点坐标计算_三点确定一个圆的算法(C++代码)

三点确定一个圆的计算方法

最近在写的一个软件需要根据三个坐标点来计算一个圆。因此花了点时间推导了相关的公式。这个推导不算太难,放在这里主要是做个备忘。

我们设一个圆的圆心坐标为

,半径为 r 。那么这个圆的方程可以写为:

在这个圆上随便取三个点,设这三个点的坐标分别是

那么有:

公式(1)(2)相减,(1)(3)相减之后经过化简可以得到:

有唯一解的条件是系数行列式不为 0 :

简单变变型也就是:

这样写几何含义就很明显了,三点不能共线。

设:

那么 :

有了 x 0 和 y 0 的值后,带入(1) 式就可以得到 r 的值。至此,三点确定圆的问题就解决了。

下面是个 C++ 代码(用到了Qt 的 QPointF 类型):#incl

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值