本文主要阐述本人关于2D/3D/4D空间中,以坐标形式计算图形面积/体积时遇到的一些思考与看法。
总所周知,坐标形式的2D多边形面积可以用已有的以下公式计算:
我们设多边形有n个顶点,坐标分别为: (x1,y1),(x2,y2),…,(xn,yn)
则面积S多边形可表示为:
S多边形=21(x1x2y1y2+x2x3y2y3+…+xn−1xnyn−1yn+xnx1yny1)(1)
请注意,上式的计算结果既可为正也可为负, 具体取决于编号点时的顺时针或逆时针顺序。
当编号顺序为逆时针时,S多边形<0 (负);
当编号顺序为顺时针时,S多边形>0 (正)。
因此,如果只是想要求多边形面积的话,事实上应该取∣S多边形∣作为图形的面积。
而对于为什么会出现这种情况呢,我在物理课上找到了灵感。 在物理学上,外界对理想气体做功的大小可以用p−V图像的面积来求(如图)
在上图的A→B→C→A循环(顺时针)中:
- A→B:外界对气体做功W1=−SAA′B′B
- B→C:外界对气体做功W2=+SBB′C′C
- C→A:外界对气体做功W3=+SCC′A′A
总计:W=W1+W2+W3=−S△ABC<0
而在A→C→B→A循环(逆时针)中:
- A→C:外界对气体做功W1=−SAA′C′C
- C→B:外界对气体做功W2=−SCC′B′B
- B→A:外界对气体做功W3=+SBB′A′A
总计:W=W1+W2+W3=+S△ABC>0
可见,气体状态变化的方向不同,外界对气体做功的正负不同, 而这就正是上式中面积正负的实际意义。
上面 (1) 式是如此简洁地用行列式表示出了任意多边形的面积,这不由地让人思考: 这个完美的公式是如何推导出来的呢?
根据高中数学,我们可以很自然地联想到三角形面积的叉乘公式:
S△OAB=21OA×OB=21x1x2y1y2=21r1r2sin<OA,OB>(2.1)(2.2)(2.3)
注:O 为坐标原点,A(x1,y1),B(x2,y2)
注意
与 (1) 式一样,此处结果可能有负值,且本文中提及的所有的“面积”“体积”都可有正负。
可以发现,这个公式可以看作 (1) 式对于三角形的特例,且需要将一个顶点移动至原点。 而 (2.2) 式又该如何证明呢?我们可以利用 (2.3) 式:
先将 OA 与 OB 用极坐标系表示:
设 OA 与 x 轴正方向夹角 α,模长为 r1; OB 与 x 轴正方向夹角 β,模长为 r2
S△OAB=21r1r2sin(α−β)=±21r1r21−cos2(α−β)=±21r1r21−(cosαcosβ−sinαsinβ)2=±21r1r21−(∣OA∣∣OB∣x1x2−∣OA∣∣OB∣y1y2)2=±21r12r22−(x1x2−y1y2)2=±21(x12+y12)(x22+y22)−(x1x2−y1y2)2=±21x12y22+x22y12−2x1x2y1y2=21(x1y2−x2y1)=21x1x2y1y2