跳至主要內容

浅谈坐标形式的面积体积通式

Kamimika...大约 3 分钟数学数学算法

本文主要阐述本人关于 2D/3D/4D 空间中,以坐标形式计算图形面积/体积时遇到的一些思考与看法。

2D 面积

总所周知,坐标形式的 2D 多边形面积可以用已有的以下公式计算:

我们设多边形有nn个顶点,坐标分别为: (x1,y1),(x2,y2),…,(xn,yn)(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)
则面积S多边形S_{\text{多边形}}可表示为:

S多边形=12(∣x1y1x2y2∣+∣x2y2x3y3∣+…+∣xn−1yn−1xnyn∣+∣xnynx1y1∣)(1) S_{\text{多边形}} = \frac{1}{2} \left( \begin{vmatrix} x_1 & y_1 \\ x_2 & y_2 \end{vmatrix} + \begin{vmatrix} x_2 & y_2 \\ x_3 & y_3 \end{vmatrix} + \ldots + \begin{vmatrix} x_{n-1} & y_{n-1} \\ x_n & y_n \end{vmatrix} + \begin{vmatrix} x_n & y_n \\ x_1 & y_1 \end{vmatrix} \right) \tag{1}

关于上式的正负问题引发的思考

请注意,上式的计算结果既可为正也可为负, 具体取决于编号点时的顺时针或逆时针顺序。

当编号顺序为逆时针时,S多边形<0S_{\text{多边形}} < 0 (负);
当编号顺序为顺时针时,S多边形>0S_{\text{多边形}} > 0 (正)。

因此,如果只是想要求多边形面积的话,事实上应该取∣S多边形∣|S_{\text{多边形}}|作为图形的面积。

而对于为什么会出现这种情况呢,我在物理课上找到了灵感。 在物理学上,外界对理想气体做功的大小可以用p−Vp-V图像的面积来求(如图)

理想气体p-V图像
理想气体p-V图像

在上图的A→B→C→AA \rightarrow B \rightarrow C \rightarrow A循环(顺时针)中:

  1. A→B\bf{A} \rightarrow \bf{B}:外界对气体做功W1=−SAA′B′BW_1 = -S_{AA'B'B}
  2. B→C\bf{B} \rightarrow \bf{C}:外界对气体做功W2=+SBB′C′CW_2 = +S_{BB'C'C}
  3. C→A\bf{C} \rightarrow \bf{A}:外界对气体做功W3=+SCC′A′AW_3 = +S_{CC'A'A}

总计:W=W1+W2+W3=−S△ABC<0\textbf{W} = W_1 + W_2 + W_3 = -S_{\triangle ABC} < 0

而在A→C→B→AA \rightarrow C \rightarrow B \rightarrow A循环(逆时针)中:

  1. A→C\bf{A} \rightarrow \bf{C}:外界对气体做功W1=−SAA′C′CW_1 = -S_{AA'C'C}
  2. C→B\bf{C} \rightarrow \bf{B}:外界对气体做功W2=−SCC′B′BW_2 = -S_{CC'B'B}
  3. B→A\bf{B} \rightarrow \bf{A}:外界对气体做功W3=+SBB′A′AW_3 = +S_{BB'A'A}

总计:W=W1+W2+W3=+S△ABC>0\textbf{W} = W_1 + W_2 + W_3 = +S_{\triangle ABC} > 0

可见,气体状态变化的方向不同,外界对气体做功的正负不同, 而这就正是上式中面积正负的实际意义。

关于推导上式的思考

上面 (1)(1) 式是如此简洁地用行列式表示出了任意多边形的面积,这不由地让人思考: 这个完美的公式是如何推导出来的呢?

根据高中数学,我们可以很自然地联想到三角形面积的叉乘公式:

S△OAB=12OA→×OB→=12∣x1y1x2y2∣=12r1r2sin⁡<OA→,OB→> \begin{align*} S_{\triangle OAB} &= \frac{1}{2} \overrightarrow{OA} \times \overrightarrow{OB} \tag{2.1} \\ &= \frac{1}{2} \begin{vmatrix} x_1 & y_1 \\ x_2 & y_2 \end{vmatrix} \tag{2.2} \\ &= \frac{1}{2} r_1r_2\sin<\overrightarrow{OA}, \overrightarrow{OB}> \tag{2.3} \end{align*}

注:OO 为坐标原点,A(x1,y1),B(x2,y2)A(x_1, y_1), B(x_2, y_2)

注意

与 (1)(1) 式一样,此处结果可能有负值,且本文中提及的所有的“面积”“体积”都可有正负。

可以发现,这个公式可以看作 (1)(1) 式对于三角形的特例,且需要将一个顶点移动至原点。 而 (2.2)(2.2) 式又该如何证明呢?我们可以利用 (2.3)(2.3) 式:

先将 OA→\overrightarrow{OA} 与 OB→\overrightarrow{OB} 用极坐标系表示:

设 OA→\overrightarrow{OA} 与 xx 轴正方向夹角 α\alpha,模长为 r1r_1; OB→\overrightarrow{OB} 与 xx 轴正方向夹角 β\beta,模长为 r2r_2

S△OAB=12r1r2sin⁡(α−β)=±12r1r21−cos⁡2(α−β)=±12r1r21−(cos⁡αcos⁡β−sin⁡αsin⁡β)2=±12r1r21−(x1x2∣OA∣∣OB∣−y1y2∣OA∣∣OB∣)2=±12r12r22−(x1x2−y1y2)2=±12(x12+y12)(x22+y22)−(x1x2−y1y2)2=±12x12y22+x22y12−2x1x2y1y2=12(x1y2−x2y1)=12∣x1y1x2y2∣ \begin{align*} S_{\triangle OAB} &= \frac{1}{2} r_1 r_2 \sin(\alpha - \beta) \\ &= \pm \frac{1}{2} r_1 r_2 \sqrt{ 1-\cos^2 (\alpha - \beta) } \\ &= \pm \frac{1}{2} r_1 r_2 \sqrt{ 1-\left( \cos\alpha \cos\beta - \sin\alpha \sin\beta \right)^2 } \\ &= \pm \frac{1}{2} r_1 r_2 \sqrt{ 1-\left( \frac{x_1 x_2}{|OA||OB|} - \frac{y_1 y_2}{|OA||OB|} \right)^2 } \\ &= \pm \frac{1}{2} \sqrt{ r_1^2 r_2^2 - \left(x_1 x_2 - y_1 y_2\right)^2 } \\ &= \pm \frac{1}{2} \sqrt{ (x_1^2 + y_1^2)(x_2^2 + y_2^2) - \left(x_1 x_2 - y_1 y_2\right)^2 } \\ &= \pm \frac{1}{2} \sqrt{ x_1^2 y_2^2 + x_2^2 y_1^2 - 2x_1 x_2 y_1 y_2 } \\ &= \frac{1}{2} (x_1 y_2 - x_2 y_1) \\ &= \frac{1}{2} \begin{vmatrix} x_1 & y_1 \\ x_2 & y_2 \end{vmatrix} \end{align*}

上次编辑于:
贡献者: wzh656
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.8.0