求画圆的方法(50分)

  • 主题发起人 主题发起人 lxcy
  • 开始时间 开始时间
L

lxcy

Unregistered / Unconfirmed
GUEST, unregistred user!
大家都知道三点可以确定一个圆,但是如果我在屏幕上取4个点,那怎么画出一个圆来?
帮我啊 。
谢谢!
 
怎么没人帮我啊
自己U
 
4个点不一定在同一个圆上
 
to lixx
对啊,四个点可能不在同一个点上,怎么根据这四个点来画出圆。因为取的点数越多,画出的圆就越精确。
 
也就是说怎么描绘一个已经存在的圆,因为我取的点数越多,越接近这个圆。然后把这个圆在画出来
 
》》因为取的点数越多,画出的圆就越精确。
..//?????????????????????
没有逻辑,如果在同一直线上呢??
三点定圆是因为三点构成三角形。
 
to duhai_lee
理论上是三点确定一个圆,但是当我看到一个圆,想知道它的大小时,我就要在这个圆上取点。因为是肉眼观测,所以我取三个点未必都很准确,所以我就多取几个点来描绘这个圆,问题是我取了多个点后,怎么根据这么多的点来画一个圆
 
取三点就可以,如果你想取圆大小,我建议取半径更好,多取几次求均值。
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2240654
 
不知道在几何中是否有关于多点取圆的算法
有没有大侠做过类似的东西
 
你的问题根本不应该这样问,你是用比较接近的方法画圆
用平均半径方法可以考虑,但不知道你程序设计要求是什么。
 
根据已有的图像,量测出它上面圆的大小
你说的方法我也考虑过,但是怎么得到它的圆心
愿闻其祥
 
三点取圆可以,四点取圆于逻辑上不合,因为这第四点心须在三点画圆的线上,不然就没可能了
 
to jarvis100
确实于逻辑上不合,我求的是怎么根据四点来综合画一个圆,减小误差。不知道怎么样的算法比较好
 
应该由其中三点任意组合,求出圆心,然后,比较另一点距离圆的位置,最近的为准
 
你的意思是不是这样

 根据平面的点,来求一个圆,要求所有的点到圆心的距离的方差最小?
如果是这样的话,你的要求有点儿类似于求趋势曲线,只不过你的趋势曲线的形状已经定了。

好的方法,我实在想不出来,现在我提供一个笨方法:
1、首先根据平面上点的分布,大体上求出圆心坐标及半径的取值范围
2、然后用穷举法,在圆心坐标范围内一个一个的试,根据就是所有的点到圆心的距离与半
径的差的方差最小
(不知我说清楚了没有:-(
 
就如 lixx 所说,用最少二乘法来搞定,你可以参考以下数值逼近或者高等数学,都有
算法的说明
 
我试一下这个方法。
 
可不可以在四个点中反复取不同的三个点得出圆心和半径,最后取平均值。
 
4个点不一定能画出一个圆。
例如:一条直线上的4个点
 
后退
顶部