前言:
如今看官们对“java简单代码实例输入三条边长求三角形的面积”大体比较注意,小伙伴们都想要剖析一些“java简单代码实例输入三条边长求三角形的面积”的相关内容。那么小编也在网上汇集了一些对于“java简单代码实例输入三条边长求三角形的面积””的相关文章,希望朋友们能喜欢,朋友们一起来学习一下吧!今天我们来介绍一个非常重要的求三角形面积的公式——海伦公式。
三角形的面积=底×高÷2,但是如果不知道高为多少,就无法用此公式求出三角形的面积。
S△ABC=(底×高)/2
另外,根据正弦定理:
a/sinA=b/sinB=c/sinC=2R
R为△ABC外接圆的半径
假设b为底边,对应的高为h。
sinC=h/a,h=asinC
S△ABC=bh/2=absinC/2
同理可得:S△ABC
=absinC/2=acsinB/2=bcsinA/2
这就是正弦定理求三角形面积公式,但如果不知道角的正弦值也无法用此公式来求三角形面积。
进一步,根据c/sinC=2R
sinC=c/2R
S△ABC=absinC/2=abc/4R
如果我们只知道三角形的三边长,能否求出这个三角形的面积呢?
如下图所示:
已知:a、b、c
求:S△ABC
解:x=a-y
h^2=b^2-y^2
h^2=c^2-x^2
x+y=a
h^2=b^2-y^2=c^2-x^2
x^2-y^2=c^2-b^2
(x+y)(x-y)=a(x-y)=c^2-b^2
x+y=a
x-y=(c^2-b^2)/a
x=[a+(c^2-b^2)/a]/2
=(a^2+c^2-b^2)/2a
y=[a-(c^2-b^2)/a]/2
=(a^2-c^2+b^2)/2a
x=(a^2+c^2-b^2)/2a
y=(a^2-c^2+b^2)/2a
h^2=b^2-y^2
=b^2-[(a^2-c^2+b^2)/2a]^2=
[4a^2b^2-(a^2-c^2+b^2)^2]/4a^2
S△ABC=ah/2
(S△ABC)^2=(ah/2)^2=a^2h^2/4
=[4a^2b^2-(a^2-c^2+b^2)^2]/16
=[(2ab)^2-(a^2-c^2+b^2)^2]/16
=(2ab+a^2-c^2+b^2)(2ab-a^2+c^2-b^2)/16
=[(a+b)^2-c^2][c^2-(a-b)^2]/16=
(a+b+c)(a+b-c)(c+a-b)(c-a+b)/16
(S△ABC)^2=
(a+b+c)(a+b-c)(c+a-b)(c-a+b)/16
令p=(a+b+c)/2
p-a=(a+b+c)/2-a=(b+c-a)/2
p-b=(a+b+c)/2-b=(a+c-b)/2
p-c=(a+b+c)/2-c=(a+b-c)/2
(S△ABC)^2=
(a+b+c)(a+b-c)(c+a-b)(c-a+b)/16
=[(a+b+c)/2][(b+c-a)/2][(a+c-b)/2][(a+b-c)/2]
=p(p-a)(p-b)(p-c)
海伦公式:p=(a+b+c)/2
S△ABC=√[p(p-a)(p-b)(p-c)]
最后再举一个例子。
已知:
△ABC的三边长分别为4,13,15
求:S△ABC
解:p=(a+b+c)/2
=(4+13+15)/2=32/2=16
S△ABC
=√[16×(16-4)×(16-13)×(16-15)]
=√(16×12×3×1)=√576=24
S△ABC=24
方法二:如图所示作辅助线
解方程可得高为12
S△ABC=(4×12)/2=48/2=24
对比可以发现,如果只知道三角形的三边长,海伦公式可直接求出三角形面积,而避免了作辅助线、列方程等过程,运用起来非常简捷。