跳至主要內容

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

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++xn1yn1xnyn+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{多边形}}|作为图形的面积。

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

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

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

  1. AB\bf{A} \rightarrow \bf{B}:外界对气体做功W1=SAABBW_1 = -S_{AA'B'B}
  2. BC\bf{B} \rightarrow \bf{C}:外界对气体做功W2=+SBBCCW_2 = +S_{BB'C'C}
  3. CA\bf{C} \rightarrow \bf{A}:外界对气体做功W3=+SCCAAW_3 = +S_{CC'A'A}

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

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

  1. AC\bf{A} \rightarrow \bf{C}:外界对气体做功W1=SAACCW_1 = -S_{AA'C'C}
  2. CB\bf{C} \rightarrow \bf{B}:外界对气体做功W2=SCCBBW_2 = -S_{CC'B'B}
  3. BA\bf{B} \rightarrow \bf{A}:外界对气体做功W3=+SBBAAW_3 = +S_{BB'A'A}

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

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

关于推导上式的思考

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

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

SOAB=12OA×OB=12x1y1x2y2=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_1OB\overrightarrow{OB}xx 轴正方向夹角 β\beta,模长为 r2r_2

SOAB=12r1r2sin(αβ)=±12r1r21cos2(αβ)=±12r1r21(cosαcosβsinαsinβ)2=±12r1r21(x1x2OAOBy1y2OAOB)2=±12r12r22(x1x2y1y2)2=±12(x12+y12)(x22+y22)(x1x2y1y2)2=±12x12y22+x22y122x1x2y1y2=12(x1y2x2y1)=12x1y1x2y2 \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.3.0