让微积分穿梭于工作与学习之间(10):在椭圆弧上做匀速运动,我就无能为力了

在曲线上做匀速运动(其实匀速有两种情况,一种是匀速度,一种是匀速率,这里讲的是后者,即按长度等分),就要求得曲线的长度,然后算出等分的位置从而把效果实现出来。

这是动画制作软件的常用功能,所以肯定有成熟的做法,当年的我也坚信自己能解决下来。

计算曲线长度其实跟计算面积是一样的,都是照着分割-近似求和-取极限这样的路线,因此可以用定积分来算。只要把被积函数替换成计算短线段长度的函数即可代入。

把曲线用多条线段来模拟,近似的长度就是这多条线段的长度总和。

以单段线为例,给出两端点的坐标,上图中AB的长度就可以用勾股定理求得:

x1-x0,y1-y0分别代表x方向和y方向的差值,因此一般可以简写为

在微分学中,教材指出,对于y=f(x)这种形式的函数来说,Δy的表达式往往会很复杂。比如前面提到的arcsinx,代入到Δy中就真的很不好化简了。

我们要的是无限分割,所以A和B会无限靠近,而在无限靠近的过程中,AB的连线会趋于切线。

所以一般情况下,我们都采用微分(在一元函数很多东西跟导数等价)来代替Δ,即

然后,上面的这个就是被积函数的表达式了。

我们试着把它弄到椭圆的方程上(此处不考虑矩阵史诗级玩法中的那种斜椭圆什么的,偏移也不管)。

这是一个多值函数,一个x对应多个y,并且带着根号:

这样的式子拿去运算很不方便,因此我们一般都用椭圆的参数方程代替。

这种形式的话,dy就不用y'来化简了,而是直接对t求导。

我们知道,sint和cost的平方和等于1,所以我们可以化走其中一个

这个式子看着很复杂,其实很简单,因为a和b都是常数,常数因子在积分中可以直接提取到积分号以外,因此根号外的系数可以忽略,而cost平方的系数也是一个常数而已,我们用c来表示,这样,积分表达式看着就真的不怎么复杂了。

如果知道椭圆弧的起点和终点对应的t值,那么这段椭圆弧的长度就可以写成以下的定积分:

根据牛顿-莱布尼茨公式,我们只要把被积函数的原函数求出来即可得到结果。但是这个只要并没我想象中容易。

求原函数的常用套路往往是先用换元法去掉积分函数中的根号(除非根号内的内容恰好跟基本积分表中的公式吻合)。

比如积分表达式是sqrt(1-x)dx,那么就设t=sqrt(1-x),根号就没了,但是别忘了dx也是积分表达式的一部分,所以dx中的x也要化走。t=sqrt(1-x)的话,x就等于1-t^2,然后积分表达式就变成了td(1-t^2)=t*(-2t)*dt=-2tdt

如果积分表达式是个二次函数,比如sqrt(1-x^2)dx,还是让t等于根号的全部内容,那x就变成了sqrt(1-t^2),根号就无法去掉了。这时候要改掉换元的方法,让x=cost,那么dx=-sint,然后sqrt(1-x^2)就成了sint了。根号也被去掉了,但是已经感觉到没一次的时候轻松。

而这个地方就更蛋疼了,根号内的地方带了个三角函数,我尝试了很多方法,比如用二倍角公式降次,或者是用正余弦乘积代替平方,等等,都失败了。但我记得椭圆的周长公式是很简单的啊,不可能变成弧就求不出来了吧。

万般无奈之下,我只好求助百度,椭圆弧长,椭圆周长,椭圆弧等分,椭圆的定积分计算等等,终于发现了,原来这玩意儿是真的求不出初等函数。而那个简单的椭圆周长公式L=2πb+4(a-b),其实只是一个近似公式,而非精确式。也就是说,我那段时间的研究都给白干了。然后我也百度了椭圆匀速运动的代码,他们的实现也是近似求和,用的是抛物线法,我给了那个求助的网友,基本够他用了,抛物线法其实很容易让积分结果接近准确值,一个完整的椭圆,拆分成40段可以精确到第5位小数,就算有的区段分割次数偏多,浪费了一点点性能,但是这点损失真的可以忽略了。

在百度的过程中,我学到了一门学科,叫椭圆积分,它的诞生就是为了解决椭圆弧长的计算问题,其可以应用到其它的一些曲线(如三次贝塞尔曲线等)的长度计算中。然而这里面有很多东西我看不懂,涉及到的基础知识太多了,比如复变函数,无穷级数等等。所幸的是我有段时间为了搞懂傅里叶变换而自学了一趟关于级数的东西,因此还能勉强前进着。以后我看看要不要把椭圆积分的东西拿点出来分享给大家,毕竟这块我至今还是半吊子。

这个问题一下让我彻底认识到自己不会的东西真的太多太多了。有句话说得好,“知识是一个圆,圆内是你懂的东西,圆外是你不懂的东西,你懂的越多,就越会发现自己不懂的更多。”自此以后,我真的不敢再说自己微积分厉害了。

回到椭圆弧长的问题上,其实不管是不是椭圆,其积分表达式都带着根号。而带根号的在积分公式表中没几种可用的形式。因此我们需要去掉根号。去掉根号的难度,直接决定了这个函数的积分计算难度。一个看似简单的函数,比如本例的1+(cosx)^2,只要给它加上根号,那我们就直接挂了。所以,不能求出原函数的初等数学函数,远比能求的要多很多很多。至少求弧长的领域是这样。

下篇我要酝酿一下该写什么了。继续讲椭圆积分可能太难,所以我打算换个东西写。具体写什么正在考虑,敬请期待!

 

 

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
[原文] 一、为了更好、更准确的说明数学里的一些词句概念,在这里引进一个基,界,及相似形形概念。 1、什么是基?基是长轴相等且相对不变的同类几何图形的长轴,界:这里是界线,比如说零是正数和负数的界。界是指几何面两轴相等,几何体三轴同时相等的几何体。 ①长相等的长方形,包括正方形是同基长方形。长叫这些长方形的同基长,同基里的正方形是长方形的界,而这些长方形与界正方形是相似面积。 ② 椭圆:长轴相等的椭圆是同基椭圆。 以短轴相等的椭圆,包括圆,也是同基椭圆,圆是两类椭圆的分界。长轴相等的椭圆的长轴叫同基长。同基里的圆面积(或周长)是椭圆面积(或周长)的面积(或周长)的界。 ③抛物面:长轴相等的抛物面是同基抛物面。两轴 相等的抛物面面积为同基抛物面的界。两轴相等抛 物面的弧长,为同基抛物面弧长界。 ④椭圆球:球体积是同基面椭圆球体积的体积界。 球表面积是同基面椭圆球面积的的曲面面积界。画出凸半球的同基面的球曲面面积界,(即三轴相等)以同基面为底面,连接上顶点,内接圆锥形的界(三轴相等)以AB即2a为直径的圆面积;是凸半球和内接圆锥形的同基面S,S面为基面,AO=OB=OC=a,当OC<AO时,AO=a为基长,当OC>AO时,OC为基长,在计算弧长和凸球曲面面积的公式中,两轴相比时,长轴即基长,永远为分母。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值