求三角型面积公式推导 area=sqrt(s*(s-a)*(s-b)*(s-c))

C语言里的三角型面积公式:area=sqrt(s*(s-a)*(s-b)*(s-c))这个公式是怎么推导出来的?(公式中的字符代表的含义我懂,请不用附加说明,谢谢!)
其中半周长s=(a+b+c)/2

刚才现推的……无聊的力量真大

设三角形3条边为a,b,c,c上作高把c分成两半x与c-x
a2的意思是a的平方,其他的类推
2a的意思是2 * a其他的类推
那么有
a2-x2 = b2 - (c-x)2
得到x=(a2-b2+c2)/2c 高h=a2-x2开根
面积为ch=c/2 * 根号里面
........a2 - b2 + c2
a2 - (-------------)2
............2c
这里写起来太麻烦了,接下来好一点,把根号外面的c/2放到根号里面去
根号里面为

[4a2c2 - (a2 - b2 + c2)2]/16
展开=
(2ac + a2 - b2 + c2)(2ac - a2 + b2 -c2)/16
=
[(a + c)2 - b2][b2 - (a - c)2]/16
=
(a + c + b)(a + c - b)(b + a - c)(b - a + c)/16
=2s(2s - 2b)(2s - 2c)(2s - 2a)/16
=s(s-a)(s-b)(s-c)
外面还有个根号不要忘记

搞定
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-09-13
如果觉得正面证明很难,可以通过其他方式验证其正确性;
现在是已知三角形三边a,b,c;求面积表达式;我们可以利用余弦定理,求出一个角的正弦值;
再带入面积公式S=1/2a*b*sinA;再来验算公式的正确性,只是过程也是不简单。0.0
相似回答