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

2025-03-09 21:02:36
推荐回答(1个)
回答1:

分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:

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

解析:

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

设三角形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)

外面还有个根号不要忘记

搞定