让微积分穿梭于工作与学习之间(11):用微积分的思想理解多边形面积的计算

重温一下自己的博客,我发现距离上一次发表新文章又有半年的时间了,但是这次我并不想拖延,只是不知道如何开头。

老早前我开过视频的课讲微积分,讲的是计算二次贝塞尔曲线的长度和等分的算法,一共10节课。现在想想那个内容对于大多数从事业务开发的朋友来说还是太难,然后貌似就做祖玛那种需要曲线匀速运动的游戏才用得上。再者,真用上了大不了找现成公式去套,再不行转离散点来算,都是可以的,完全不用管原理级别的东西。

现在我工作中真的用上了,但应用的背景完全局限于CAD原创的曲线类型——圆弧直线(或者叫多段线)。我每天下班走在路上的时候都会想着这个玩意儿,但是让我着手写博客我无从下手,因为少了业务背景,我说出来似乎很难引起共鸣。

前面我提到了算面积这玩意儿,并且给出了用直角梯形面积加减的方法算出较复杂的多边形的面积。这个思想虽然偏向量,但是我们同样可以用微积分来理解。那这篇我们先不引入曲线,来看看如何用微积分理解三角形的面积计算思路。

在第3篇的时候,我给出了动图算多边形的面积演示。

 

我们把边数减到3,面积的演算过程就如下图所示。

我们把这个gif图用数学的式子来表示一下。它等于前两个梯形的面积之和减去第三个梯形的面积。

例如第一个梯形,它的上底是y0,下底是y1,然后高等于x1-x0,于是有

类似地,有

然后三角形的面积S=S0+S1-S2

这个地方既有加又有减,想要写成通式很麻烦,像上图那个比较多边的图形就不好确定正负了。所以我们先看看能不能统一用加号。

3部分的面积,y坐标都是相加,没什么可以区分正负,然后x坐标是差值。我们来看看被减数和减数跟箭头方向的关系。

S0的边从x0走到x1,值为x1-x0

S1的边从x1走到x2,值为x2-x1

S2的边从x2走到x0,值为x2-x0

可见,除了S2之外,其余的两个在x差值的那个部分都是终点-起点,而S2则为起点-终点。所以,如果我们全部改成终点-起点,那么S2的符号也就跟S1的一致了。

我们把S2的计算方法改一下(注意这样修改之后,S2会变成负数,但对于数学来说,这点完全没关系)。

然后面积的计算公式看着就更整齐了。

用代码来表达就变得非常方便。

var S = 0;
for(var i = 0; i < 3; i ++)
{
  var nextIndex = (i + 1) % 3;
  S += (y[i] + y[nextIndex]) * (x[nextIndex] - x[i]);
}
S = S * 0.5;

最后一条边从最后一个点回到起点,用取余的方法即可实现。

用数学符号来表示就是这个样子。

这个式子让我感觉非常蛋疼,考虑到来这儿的人大多是程序员(或者自称码农),我给出了上面的代码以便理解。

其中mod3表示除以3的余数。那个希腊字母的符号是求和的意思,代表从0循环到2对后面的式子进行求和。

我智商比较低,每次看到这种东西的时候都得想很久,然后会卡着导致后面看不下去。万一你们也是这样的话那可以跟我联系,我看看怎样解释得更加清楚。

写到这里仍然未涉及到微积分的东西。但如果换成曲线的话相信大家就能马上往微积分的方向去想。而此处,如果把三角形的边视作一条曲线,那么就很容易跟微积分关联起来了。

前面第3篇说过,这种表示单段曲线投影面积的计算式子用的是函数表达式,然后我们知道直线也是有函数的,因此我们不妨根据线段的两个端点建立出直线的方程。

我们把第一组点取出来,用两点式进行构建(不知道两点式的朋友可自行百度)

把y解出来,得到

把下标换成循环变量吧。

别看这式子形式上很繁琐,它其实只是个简单的一次函数。

然后y和x就建立了一个函数关系。

用微积分的话来说,就是求函数fi(x)在区间xi到x(i+1)mod3的积分。

这句话我也想不到更好的表达方式了,有不懂的可以留言问我。

套进去求和的公式,就是

我不知道这地方的跳跃会不会大,但作为应用型的博文,我不打算在正文中讲解太多,还是那句话,有不懂的就问我。

这样的话,要求一个包含曲边的图形面积,我们只要把f(x)函数从上面的直线换成对应的曲线函数就可以求出来了。

但是我不打算继续在这篇讲下去了。留到下篇吧,先让大家好好消化下本篇的内容。

如果大家还是真的看不懂,就等我的下一篇吧,我已经想好了怎么样往简单里写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值