本帖最后由 作者 于 2010-8-7 11:36:14 编辑
HRQ28发表于2010-8-7 9:12:00 感谢版主热心负责的指点,程序要求输入点时
(setq x (getdist \"\n起点X1= \")),不知怎么要求在屏幕上点两次?好象点坐标只有一个点就够了啊。
第一个命令TEST还没研究到试验进行。
第二个
第一个是根据两点来算椭圆的弧长的啊。就像1楼你所展示的那个程序那样。当然要两点才能确定弧段。
关于你说的超大尺寸的椭圆的精度问题:你怎么感觉就比程序要精确呢?你用什么做比较的?
因为你怀疑精度问题,实际上是你在怀疑CAD的精度问题。 你应该怀疑网上的那个公式:网上的那个公式是近似的,它的才是不精确的。因为正是近似公式,才使得超大尺寸的椭圆计算精度有问题。
autoCAD的精度是相当高的。别人说那autocad画整个地球,误差都不到几毫米。
关于椭圆的弧长或者周长的计算公式,下面的图片摘自请《椭圆函数及其应用》(高本庆,1991)
所以如果网上有人说找到了一个精确的公式(有限),那他是自欺欺人。所有的计算椭圆的有限公式都是近似公式,不会存在一个精确解的。
你上传的那个公式我看了,实际上是拉马努金II的改进型,我已经在程序里提及到了,他的这个公式的确有很高的精度,已经达到了1e-25
http://www.numericana.com/answer/ellipse.htm
但是我测试了一下,在CAD 中画一个长半径为10,000,000(即1亿)短半径为6487854的椭圆,与公式计算的周长比较:
52387391.8317393 ----autocad
52387391.8312022 ----近似公式计算
可见两者相差很少很少,如果CAD是以毫米画图的,那么这个误差已经到了纳米的距离,在实际工程中已经显得毫无意义了。
(因为意味这上百公里,或者上千公里的路,误差范围在1纳米,这样的精度夫复何求?)
|