请教:已知不共线三点,求圆半径,圆心坐标

MrKnowNothing 2005-03-04 06:08:39
rt
...全文
1888 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
MrKnowNothing 2005-03-05
  • 打赏
  • 举报
回复
good!
zglnew 2005-03-05
  • 打赏
  • 举报
回复
up
tiaoci 2005-03-04
  • 打赏
  • 举报
回复
上面 delta 是指

| y1 - y2, y3 - y2 |
| |
| x2 - x1, x2 - x3 |

希望没有推错,阿门~~

tiaoci 2005-03-04
  • 打赏
  • 举报
回复
计算中垂线方程这样做

p1(x1, y1) p2(x2, y2) p3(x3, y3)

边的中点为 (p1 + p2) / 2, (p2 + p3) / 2, (p3 + p1) / 2
各边向量为 p2 - p1, p3 - p2, p1 - p3
各中垂线向量为
(y1 - y2, x2 - x1), (y2 - y3, x3 - x2), (y3 - y1, x1 - x3)

所以三条中垂线方程为

V1 = [(x1 + x2)/2 , (y1 + y2)/2 ] + t1 * [y1 - y2, x2 - x1]
V2 = [(x2 + x3)/2 , (y2 + y3)/2 ] + t2 * [y2 - y3, x3 - x2]
V3 = [(x3 + x1)/2 , (y3 + y1)/2 ] + t3 * [y3 - y1, x1 - x3]

上面三个方程是相关的,谁便取两个计算就可以了,取 V1,V2 化成解方程

| y1 - y2, y3 - y2 | | t1 | | (x3 - x1) / 2 |
| | * | | = | |
| x2 - x1, x2 - x3 | | t2 | | (y3 - x1) / 2 |

| a b | | t1 | | z1 |
| | * | | = | |
| c d | | t2 | | z2 |

二元一次方程很容易解的(列替换法)

t1 = (z1 * d - z2 * b) / (a * d - c * b)
t2 = (z2 * a - z1 * c) / (a * d - c * b)

由于 delta 是循环式,所以无论选三个方程中的哪两个都是一样的

但这一步的除法不可避免,当 delta 非常小时,最后可能存在误差

当然可以使用一定的技巧减少误差
sworddx 2005-03-04
  • 打赏
  • 举报
回复
楼上说得对,我认错。
tiaoci 2005-03-04
  • 打赏
  • 举报
回复
to MrKnowNothing(尽管一无所知 却努力无所不知)
你可以使用向量方式做,不需要考虑斜率的

另外,即使对于3维和3维以上的空间,根据张量知识

也是必定确定一个圆的,因为首先根据3点,

我们可以确定一个平面,

平面方程就是 a * (p2 - p1) + b * (p3 - p1)

而根据前面的方法,共面非共线的三点就能确定一个圆
viena 2005-03-04
  • 打赏
  • 举报
回复
汗,我错了,楼上说得对,不共线三点确定一个圆~

解析几何的问题,不记得了~
MrKnowNothing 2005-03-04
  • 打赏
  • 举报
回复
to tiaoci(我挑刺,我快乐) :
考虑中垂线斜率无限大的情况了吗?
我的思路也是这个,可是经常除数为0(我是随机取三点的)
sworddx 2005-03-04
  • 打赏
  • 举报
回复
折线圆~
tiaoci 2005-03-04
  • 打赏
  • 举报
回复
否则你还可以说是 n维空间的圆呐,嘿嘿
tiaoci 2005-03-04
  • 打赏
  • 举报
回复
既然求圆自然是平面问题吧
tiaoci 2005-03-04
  • 打赏
  • 举报
回复

要计算也很简单, 就是算三角形外接圆,

假设点 p1(x1,y1) p2(x2,y2) p3(x3,y3)

计算 p1, p2 的中垂线方程 f1,

计算 p2, p3 的中垂线方程 f2,

计算 f1 ,f2 方程的交点,就是圆心

圆心和任意一点的距离就是半径

根据中垂线性质很容易知道三点就在这个求得的圆上
MrKnowNothing 2005-03-04
  • 打赏
  • 举报
回复
平面上的不共线三点
不考虑三维
sworddx 2005-03-04
  • 打赏
  • 举报
回复
考虑3维以上的情况,不共线三点未必在一个圆上~
tiaoci 2005-03-04
  • 打赏
  • 举报
回复
不共线三点必定在一个圆上!
viena 2005-03-04
  • 打赏
  • 举报
回复
不共线三点未必在一个圆上~

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧