证明三角形中重心坐标公式

欢迎关注更多精彩
关注我,学习常用算法与数据结构,一题多解,降维打击。

三角形重心坐标公式描述

重心坐标

在三维空间中

△ P 1 P 2 P 3 的面积为 A , P 为 △ P 1 P 2 P 3 内一点 \triangle P_1P_2P_3 的面积为A, \\ P为\triangle P_1P_2P_3内一点 P1P2P3的面积为A,PP1P2P3内一点

△ P 1 P 2 P 的面积为 A 3 \triangle P_1P_2P 的面积为A_3 P1P2P的面积为A3

△ P 1 P P 3 的面积为 A 2 \triangle P_1PP_3 的面积为A_2 P1PP3的面积为A2

△ P P 2 P 3 的面积为 A 1 \triangle PP_2P_3 的面积为A_1 PP2P3的面积为A1

重心坐标公式如下

P = ∑ i = 1 3 A i A P i = A 1 A P 1 + A 2 A P 2 + A 3 A P 3              … … ( 1 ) P=\displaystyle \sum_{i=1}^ 3 \frac {A_i}{A}P_i = \frac {A_1}{A}P_1+\frac {A_2}{A}P_2+\frac {A_3}{A}P_3 \ \ \ \ \ \ \ \ \ \ \ \ ……(1) P=i=13AAiPi=AA1P1+AA2P2+AA3P3            ……1

证明式子(1)。

问题转化

由于三角形内所有点都是在同一个平面,则对三角形进行任意刚性变换不影响上述性质。所以我们可以做以下2个变换。

(1)将三角形转化到二维平面,即所有点的z坐标为0,这样可以忽略z坐标,只考虑xy坐标。
(2)假设P1=(0,0),这样我们可以利用向量叉积作面积的计算。
(3)由于计算面积都要除以2,我们将(1)式转化成下面的式子(两边同时乘以2A)。
2 A ⋅ P = 2 A 1 P 1 + 2 A 2 P 2 + 2 A 3 P 3 … … … … ( 2 ) 2A \cdot P = 2{A_1}P_1+ 2{A_2}P_2+2{A_3}P_3 …………(2) 2AP=2A1P1+2A2P2+2A3P3…………2
问题转化成在二维坐标系中,以P1为原点(2)正确性证明。

证明

对各点坐标进行定义
P = ( P x , P y ) , P 1 = ( P 1 x , P 1 y ) , P 2 = ( P 2 x , P 2 y ) , P 3 = ( P 3 x , P 3 y ) P=(P_x, P_y), P_1=(P_{1x}, P_{1y}), P_2=(P_{2x}, P_{2y}),P_3=(P_{3x}, P_{3y}) P=(Px,Py),P1=(P1x,P1y),P2=(P2x,P2y),P3=(P3x,P3y)

有了以上的转化和定义,我们可以利用叉乘计算所有面积

2 A = P 2 × P 3 = P 2 x ⋅ P 3 y − P 2 y ⋅ P 3 x 2A=P_2\times P_3 = P_{2x}\cdot P_{3y}- P_{2y}\cdot P_{3x} 2A=P2×P3=P2xP3yP2yP3x

2 A 2 = P × P 3 = P x ⋅ P 3 y − P y ⋅ P 3 x 2A_2=P\times P_3 = P_{x}\cdot P_{3y}- P_{y}\cdot P_{3x} 2A2=P×P3=PxP3yPyP3x

2 A 3 = P 2 × P = P 2 x ⋅ P y − P 2 y ⋅ P x 2A_3=P_2\times P = P_{2x}\cdot P_{y}- P_{2y}\cdot P_{x} 2A3=P2×P=P2xPyP2yPx

2 A 1 = 2 A − 2 A 2 − 2 A 3 = P 2 x ⋅ P 3 y − P 2 y ⋅ P 3 x − P x ⋅ P 3 y + P y ⋅ P 3 x − P 2 x ⋅ P y + P 2 y ⋅ P x 2A_1=2A-2A_2-2A_3=P_{2x}\cdot P_{3y}- P_{2y}\cdot P_{3x}-P_{x}\cdot P_{3y}+ P_{y}\cdot P_{3x} - P_{2x}\cdot P_{y}+ P_{2y}\cdot P_{x} 2A1=2A2A22A3=P2xP3yP2yP3xPxP3y+PyP3xP2xPy+P2yPx

将上述面积替换原式(2)

2 A 1 P 1 + 2 A 2 P 2 + 2 A 3 P 3 2{A_1}P_1+ 2{A_2}P_2+2{A_3}P_3 2A1P1+2A2P2+2A3P3

= ( 0 , 0 ) + ( P x ⋅ P 3 y − P y ⋅ P 3 x ) ⋅ ( P 2 x , P 2 y ) + ( P 2 x ⋅ P y − P 2 y ⋅ P x ) ⋅ ( P 3 x , P 3 y ) =(0,0)+(P_{x}\cdot P_{3y}- P_{y}\cdot P_{3x})\cdot(P_{2x}, P_{2y})+(P_{2x}\cdot P_{y}- P_{2y}\cdot P_{x})\cdot (P_{3x}, P_{3y}) =(0,0)+(PxP3yPyP3x)(P2x,P2y)+(P2xPyP2yPx)(P3x,P3y)
乘进去,并整理一下顺序
= [ ( P x ⋅ P 2 x ⋅ P 3 y − P y ⋅ P 2 x ⋅ P 3 x + P y ⋅ P 2 x ⋅ P 3 x − P x ⋅ P 2 y ⋅ P 3 x ) , ( P x ⋅ P 2 y ⋅ P 3 y − P y ⋅ P 2 y ⋅ P 3 x + P y ⋅ P 2 x ⋅ P 3 y − P x ⋅ P 2 y ⋅ P 3 y ) ] =[(P_{x}\cdot P_{2x}\cdot P_{3y}- P_{y}\cdot P_{2x}\cdot P_{3x} + P_{y}\cdot P_{2x}\cdot P_{3x} - P_{x}\cdot P_{2y}\cdot P_{3x}),(P_{x}\cdot P_{2y}\cdot P_{3y}- P_{y}\cdot P_{2y}\cdot P_{3x} + P_{y}\cdot P_{2x}\cdot P_{3y} - P_{x}\cdot P_{2y}\cdot P_{3y})] =[(PxP2xP3yPyP2xP3x+PyP2xP3xPxP2yP3x),(PxP2yP3yPyP2yP3x+PyP2xP3yPxP2yP3y)]
抵消相同项
= [ ( P x ⋅ P 2 x ⋅ P 3 y − P x ⋅ P 2 y ⋅ P 3 x ) , ( − P y ⋅ P 2 y ⋅ P 3 x + P y ⋅ P 2 x ⋅ P 3 y ) ] =[(P_{x}\cdot P_{2x}\cdot P_{3y} - P_{x}\cdot P_{2y}\cdot P_{3x}), (- P_{y}\cdot P_{2y}\cdot P_{3x} + P_{y}\cdot P_{2x}\cdot P_{3y} )] =[(PxP2xP3yPxP2yP3x),(PyP2yP3x+PyP2xP3y)]
提取公因子
= ( P 2 x ⋅ P 3 y − P 2 y ⋅ P 3 x ) ⋅ ( P x , P y ) = (P_{2x}\cdot P_{3y}-P_{2y}\cdot P_{3x})\cdot(P_x,P_y) =(P2xP3yP2yP3x)(Px,Py)

= 2 A ⋅ P =2A\cdot P =2AP

∴ ( 2 ) 式得证,( 1 )式也得证 \therefore (2)式得证,(1)式也得证 (2)式得证,(1)式也得证

证毕。


本人码农,希望通过自己的分享,让大家更容易学懂计算机知识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值