海倫公式

海倫公式

海倫公式又譯作希倫公式、海龍公式、希羅公式、海倫-秦九韶公式,傳說是古代的敘拉古國王希倫(Heron,也稱海龍)二世發現的公式,利它是利用三角形的三條邊的邊長直接求三角形面積的公式。表達式為:S=√p(p-a)(p-b)(p-c),它的特點是形式漂亮,便於記憶。相傳這個公式最早是由古希臘數學家阿基米德得出的,而因為這個公式最早出現在海倫的著作《測地術》中,所以被稱為海倫公式。中國秦九韶也得出了類似的公式,稱三斜求積術。但根據Morris Kline在1908年出版的著作考證,這條公式其實是阿基米德所發現,以托希倫二世的名發表(未查證)。

基本信息

原理簡介

中國宋代的數學家秦九韶也提出了“三斜求積術”,它與海倫公式基本一樣。
假設在平面內,有一個三角形,邊長分別為a、b、c,三角形的面積S可由以下公式求得:
S=√[p(p-a)(p-b)(p-c)]
而公式里的p為半周長:
p=(a+b+c)/2
註:"Metrica"(《度量論》)手抄本中用s作為半周長,所以S=√[p(p-a)(p-b)(p-c)]和S=√[s(s-a)(s-b)(s-c)]兩種寫法都是可以的,但多用p作為半周長。
由於任何n邊的多邊形都可以分割成n-2個三角形,所以海倫公式可以用作求多邊形面積的公式。比如說測量土地的面積的時候,不用測三角形的高,只需測兩點間的距離,就可以方便地導出答案。

證明過程

證明(1)

與海倫在他的著作"Metrica"(《度量論》)中的原始證明不同,在此我們用三角公式和公式變形來證明。設三角形的三邊a、b、c的對角分別為A、B、C,則餘弦定理為下述推導

cosC=(a^2+b^2-c^2)/2ab
S=1/2*ab*sinC
=1/2*ab*√(1-cos^2C)
=1/2*ab*√[1-(a^2+b^2-c^2)^2/4a^2*b^2]
=1/4*√[4a^2*b^2-(a^2+b^2-c^2)^2]
=1/4*√[(2ab+a^2+b^2-c^2)(2ab-a^2-b^2+c^2)]
=1/4*√[(a+b)^2-c^2][c^2-(a-b)^2]
=1/4*√[(a+b+c)(a+b-c)(a-b+c)(-a+b+c)]
設p=(a+b+c)/2
則p=(a+b+c)/2,p-a=(-a+b+c)/2,p-b=(a-b+c)/2,p-c=(a+b-c)/2,
上式=√[(a+b+c)(a+b-c)(a-b+c)(-a+b+c)/16]
=√[p(p-a)(p-b)(p-c)]
所以,三角形ABC面積S=√[p(p-a)(p-b)(p-c)][2]

證明⑵

中國宋代的數學家秦九韶也提出了“三斜求積術”。它與海倫公式基本一樣,其實在《九章算術》中,已經有求三角形公式“底乘高的一半”,在實際丈量土地面積時,由於土地的面積並不是三角形,要找出它來並非易事。所以他們想到了三角形的三條邊。如果這樣做求三角形的面積也就方便多了。但是怎樣根據三邊的長度來求三角形的面積?直到南宋,中國著名的數學家秦九韶提出了“三斜求積術”。

秦九韶他把三角形的三條邊分別稱為小斜、中斜和大斜。“術”即方法。三斜求積術就是用小斜平方加上大斜平方,送到中斜平方,取相減後餘數的一半,自乘而得一個數,小斜平方乘以大斜平方,送到上面得到的那個。相減後餘數被4除,所得的數作為“實”,作1作為“隅”,開平方後即得面積。所謂“實”、“隅”指的是,在方程px2=q,p為“隅”,q為“實”。以△、a,b,c表示三角形面積、大斜、中斜、小斜,所以q=1/4{a^2*c^2-[(a^2+c^2-b^2)/2]^2}

當P=1時,△2=q,
△=√1/4{a^2*c^2-[(a^2+c^2-b^2)/2]^2}
因式分解得
△^2=1/4[4a^2c^2-(a^2+c^2-b^2)^2]
=1/4[(c+a)^2-b^2][b^2-(c-a)^2]
=1/4(c+a+b)(c+a-b)(b+c-a)(b-c+a)
=1/4(c+a+b)(a+b+c-2b)(b+c+a-2a)(b+a+c-2c)
=1/4[2p(2p-2a)(2p-2b)(2p-2c)]
=p(p-a)(p-b)(p-c)
由此可得:
S△=√[p(p-a)(p-b)(p-c)]
其中p=1/2(a+b+c)
這與海倫公式完全一致,所以這一公式也被稱為“海倫-秦九韶公式”。
S=√1/4{a^2*c^2-[(a^2+c^2-b^2)/2]^2}.其中c>b>a.
根據海倫公式,我們可以將其繼續推廣至四邊形的面積運算。如下題:
已知四邊形ABCD為圓的內接四邊形,且AB=BC=4,CD=2,DA=6,求四邊形ABCD的面積
這裡用海倫公式的推廣
S圓內接四邊形=根號下(p-a)(p-b)(p-c)(p-d)(其中p為周長一半,a,b,c,d,為4邊)
代入解得s=8√3

證明⑶

在△ABC中∠A、∠B、∠C對應邊a、b、c

O為其內切圓圓心,r為其內切圓半徑,p為其半周長
有tanA/2tanB/2+tanB/2tanC/2+tanC/2tanA/2=1
r(tanA/2tanB/2+tanB/2tanC/2+tanC/2tanA/2)=r
∵r=(p-a)tanA/2=(p-b)tanB/2=(p-c)tanC/2
∴r(tanA/2tanB/2+tanB/2tanC/2+tanC/2tanA/2)
=[(p-a)+(p-b)+(p-c)]tanA/2tanB/2tanC/2
=ptanA/2tanB/2tanC/2
=r
∴p^2r^2tanA/2tanB/2tanC/2=pr^3
∴S^2=p^2r^2=(pr^3)/(tanA/2tanB/2tanC/2)
=p(p-a)(p-b)(p-c)
∴S=√p(p-a)(p-b)(p-c)

證明⑷

通過使用正弦定理和餘弦定理的結合證明(具體可以參考證明方法1)

推廣相關

介紹

關於三角形的面積計算公式在解題中主要套用的有:
設△ABC中,a、b、c分別為角A、B、C的對邊,ha為a邊上的高,R、r分別為△ABC外接圓、內切圓的半徑,p=(a+b+c)/2,則S△ABC
=1/2aha
=1/2ab×sinC
=rp
=2R^2sinAsinBsinC
=√[p(p-a)(p-b)(p-c)]
其中,S△ABC=√[p(p-a)(p-b)(p-c)]就是著名的海倫公式,在希臘數學家海倫的著作《測地術》中有記載。關於三角形的面積計算公式在解題中主要套用的有:設△abc中,a、b、c分別為角a、b、c的對邊,ha為a邊上的高,r、r分別為△abc外接圓、內切圓的半徑,p=(a+b+c),則s△abc=aha=ab×sinc=rp=2r2sinasinbsinc
其中,s△abc=就是著名的海倫公式,在希臘數學家海倫的著作《測地術》中有記載。
海倫公式在解題中有十分重要的套用。
一、海倫公式的變形
s=
=①
=②
=③
=④
=⑤
二、海倫公式的證明
證一勾股定理
分析:先從三角形最基本的計算公式s△abc=aha入手,運用勾股定理推導出海倫公式。
證明:如圖ha⊥bc,根據勾股定理,得:
x=y=
ha===
∴s△abc=aha=a×=
此時s△abc為變形④,故得證。
證二:斯氏定理
分析:在證一的基礎上運用斯氏定理直接求出ha。
斯氏定理:△abc邊bc上任取一點d,
若bd=u,dc=v,ad=t.則
t2=
證明:由證一可知,u=v=
∴ha2=t2=-
∴s△abc=aha=a×
此時為s△abc的變形⑤,故得證。
證三:餘弦定理
分析:由變形②s=可知,運用餘弦定理c2=a2+b2-2abcosc對其進行證明。
證明:要證明s=
則要證s=
=
=ab×sinc
此時s=ab×sinc為三角形計算公式,故得證。
證四:恆等式
分析:考慮運用s△abc=rp,因為有三角形內接圓半徑出現,可考慮套用三角函式的恆等式。
恆等式:若∠a+∠b+∠c=180○那么
tg·tg+tg·tg+tg·tg=1
證明:如圖,tg=①
tg=②
tg=③
根據恆等式,得:
++=
①②③代入,得:
∴r2(x+y+z)=xyz④
如圖可知:a+b-c=(x+z)+(x+y)-(z+y)=2x
∴x=同理:y=z=
代入④,得:r2·=
兩邊同乘以,得:
r2·=
兩邊開方,得:r·=
左邊r·=r·p=s△abc右邊為海倫公式變形①,故得證。
證五:半角定理
半角定理:tg=
tg=
tg=
證明:根據tg==∴r=×y①
同理r=×z②r=×x③
①×②×③,得:r3=×xyz

套用

由於在實際套用中,往往需計算四邊形的面積,所以需要對海倫公式進行推廣。由於三角形內接於圓,所以猜想海倫公式的推廣為:在任意內接與圓的四邊形ABCD中,設p=,則S四邊形=
現根據猜想進行證明。
證明:如圖,延長DA,CB交於點E。
設EA=eEB=f
∵∠1+∠2=180°∠2+∠3=180°
∴∠1=∠3∴△EAB≌△ECD
∴===
解得:e=①f=②
由於S四邊形ABCD=S△EAB
將①,②跟b=代入公式變形④,得到:
∴S四邊形ABCD=
所以,海倫公式的推廣得證。

證明過程

證明⑴與海倫在他的著作"Metrica"(《度量論》)中的原始證明不同,在此我們用三角公式和公式變形來證明。設三角形的三邊a、b、c的對角分別為A、B、C,則餘弦定理為下述推導cosC=(a^2+b^2-c^2)/2ab
S=1/2*ab*sinC
=1/2*ab*√(1-cos^2C)
=1/2*ab*√[1-(a^2+b^2-c^2)^2/4a^2*b^2]
=1/4*√[4a^2*b^2-(a^2+b^2-c^2)^2]
=1/4*√[(2ab+a^2+b^2-c^2)(2ab-a^2-b^2+c^2)]
=1/4*√[(a+b)^2-c^2][c^2-(a-b)^2]
=1/4*√[(a+b+c)(a+b-c)(a-b+c)(-a+b+c)]
設p=(a+b+c)/2
則p=(a+b+c)/2,p-a=(-a+b+c)/2,p-b=(a-b+c)/2,p-c=(a+b-c)/2,
上式=√[(a+b+c)(a+b-c)(a-b+c)(-a+b+c)/16]
=√[p(p-a)(p-b)(p-c)]
所以,三角形ABC面積S=√[p(p-a)(p-b)(p-c)]

證明⑵

中國代的數學家秦九韶在1247年也提出了“三斜求積術”。它與海倫公式基本一樣,其實在《九章算術》中,已經有求三角形公式“底乘高的一半”,在實際丈量土地面積時,由於土地的面積並不是三角形,要找出它來並非易事。所以他們想到了三角形的三條邊。如果這樣做求三角形的面積也就方便多了。但是怎樣根據三邊的長度來求三角形的面積?直到南宋,中國著名的數學家秦九韶提出了“三斜求積術”。
秦九韶他把三角形的三條邊分別稱為小斜、中斜和大斜。“術”即方法。三斜求積術就是用小斜平方加上大斜平方,送到中斜平方,取相減後餘數的一半,自乘而得一個數,小斜平方乘以大斜平方,送到上面得到的那個。相減後餘數被4除,所得的作為“實”,作1作為“隅”,開平方後即得面積。
所謂“實”、“隅”指的是,在方程px2=q,p為“隅”,q為“實”。以△、a,b,c表示三角形面積、大斜、中斜、小斜,所以
q=1/4{a^2*c^2-[(a^2+c^2-b^2)/2]^2}
當P=1時,△2=q,
△=√1/4{a^2*c^2-[(a^2+c^2-b^2)/2]^2}
因式分解得
△^2=1/4[4a^2c^2-(a^2+c^2-b^2)^2]
=1/4[(c+a)^2-b^2][b^2-(c-a)^2]
=1/4(c+a+b)(c+a-b)(b+c-a)(b-c+a)
=1/4(c+a+b)(a+b+c-2b)(b+c+a-2a)(b+a+c-2c)
=1/4[2p(2p-2a)(2p-2b)(2p-2c)]
=p(p-a)(p-b)(p-c)
由此可得:
S△=√[p(p-a)(p-b)(p-c)]
其中p=1/2(a+b+c)
這與海倫公式完全一致,所以這一公式也被稱為“海倫——秦九韶公式”。
海倫公式海倫公式

S=√1/4{a^2*c^2-[(a^2+c^2-b^2)/2]^2}.其中c>b>a.
根據海倫公式,我們可以將其繼續推廣至四邊形的面積運算。如下題:
已知四邊形ABCD為圓的內接四邊形,且AB=BC=4,CD=2,DA=6,求四邊形ABCD的面積
這裡用海倫公式的推廣
S圓內接四邊形=根號下(p-a)(p-b)(p-c)(p-d)(其中p為周長一半,a,b,c,d,為4邊)
代入解得s=8√3

證明⑶

海倫公式
在△ABC中∠A、∠B、∠C對應邊a、b、c
O為其內切圓圓心,r為其內切半徑,p為其半周長
有tanA/2tanB/2+tanB/2tanC/2+tanC/2tanA/2=1
r(tanA/2tanB/2+tanB/2tanC/2+tanC/2tanA/2)=r
∵r=(p-a)tanA/2=(p-b)tanB/2=(p-c)tanC/2
∴r(tanA/2tanB/2+tanB/2tanC/2+tanC/2tanA/2)
=[(p-a)+(p-b)+(p-c)]tanA/2tanB/2tanC/2
=ptanA/2tanB/2tanC/2
=r
∴p^2r^2tanA/2tanB/2tanC/2=pr^3
∴S^2=p^2r^2=(pr^3)/(tanA/2tanB/2tanC/2)
=p(p-a)(p-b)(p-c)
∴S=√p(p-a)(p-b)(p-c)

證明⑷

通過使用正弦定理和餘弦定理的結合證明(具體可以參考證明方法1)

推廣

關於三角形的面積計算公式在解題中主要套用的有:
設△ABC中,a、b、c分別為角A、B、C的對邊,ha為a邊上的高,R、r分別為△ABC外接圓、內切圓的半徑,p=(a+b+c)/2,則
S△ABC
=1/2aha
=1/2ab×sinC
=rp
=2R^2sinAsinBsinC
=√[p(p-a)(p-b)(p-c)]
其中,S△ABC=√[p(p-a)(p-b)(p-c)]就是著名的海倫公式,在希臘數學家海倫的著作《測地術》中有記載。關於三角形的面積計算公式在解題中主要套用的有:
設△abc中,a、b、c分別為角a、b、c的對邊,ha為a邊上的高,r、r分別為△abc外接圓、內切圓的半徑,p=(a+b+c),則
s△abc=aha=ab×sinc=rp
=2r2sinasinbsinc
其中,s△abc=就是著名的海倫公式,在希臘數學家海倫的著作《測地術》中有記載。
海倫公式在解題中有十分重要的套用。
一、海倫公式的變形
s=
=①
=②
=③
=④
=⑤
二、海倫公式的證明
證一勾股定理
分析:先從三角形最基本的計算公式s△abc=aha入手,運用勾股定理推導出海倫公式。
證明:如圖ha⊥bc,根據勾股定理,得:
x=y=
ha===
∴s△abc=aha=a×=
此時s△abc為變形④,故得證。
證二:斯氏定理
分析:在證一的基礎上運用斯氏定理直接求出ha。
斯氏定理:△abc邊bc上任取一點d,
若bd=u,dc=v,ad=t.則
t2=
證明:由證一可知,u=v=
∴ha2=t2=——
∴s△abc=aha=a×
=
此時為s△abc的變形⑤,故得證。
證三:餘弦定理
分析:由變形②s=可知,運用餘弦定理c2=a2+b2——2abcosc對其進行證明
證明:要證明s=
則要證s=
=
=ab×sinc
此時s=ab×sinc為三角形計算公式,故得證。
證四:恆等式
分析:考慮運用s△abc=rp,因為有三角形內接圓半徑出現,可考慮套用三角函式的恆等式。
恆等式:若∠a+∠b+∠c=180○那么
tg·tg+tg·tg+tg·tg=1
證明:如圖,tg=①
tg=②
tg=③
根據恆等式,得:
++=
①②③代入,得:
∴r2(x+y+z)=xyz④
如圖可知:a+b——c=(x+z)+(x+y)——(z+y)=2x
∴x=同理:y=z=
代入④,得:r2·=
兩邊同乘以,得:
r2·=
兩邊開方,得:r·=
左邊r·=r·p=s△abc右邊為海倫公式變形①,故得證。
證五:半角定理
半角定理:tg=
tg=
tg=
證明:根據tg==∴r=×y①
同理r=×z②r=×x③
①×②×③,得:r3=×xyz

套用

海倫公式證明

證一:勾股定理
海倫公式
勾股定理證明海倫公式
證二:斯氏定理
證三:餘弦定理分析:由變形②S=可知,運用餘弦
斯氏定理證明海倫公式
定理c^2=a^2+b^2——2abcosC對其進行證明。
證明:要證明S=
則要證S=ab×sinC
此時S=(ab×sinC)/2為三角形計算公式,故得證。
海倫公式海倫公式

證四:恆等式
等式
恆等式證明⑵
證五:半角定理
∵由證一,x==——c=p——c
y==——a=p——a
z==——b=p——b
∴r3=∴r=
∴S△ABC=r·p=故得證。
海倫公式海倫公式

推廣

由於在實際套用中,往往需計算四邊形的面積,所以需要對海倫公式進行推廣。由於三角形內接於,所以猜想海倫公式的推廣為:在任意內接與圓的四邊形ABCD中,設p=,則S四邊形=
現根據猜想進行證明
證明:如圖,延長DA,CB交於點E。
設EA=eEB=f
∵∠1+∠2=180°∠2+∠3=180°
海倫公式海倫公式

∴∠1=∠3∴△EAB≌△ECD
∴===
解得:e=①f=②
由於S四邊形ABCD=S△EAB
將①,②跟b=代入公式變形④,得到:
∴S四邊形ABCD=
所以,海倫公式的推廣得證

例題

海倫公式
海倫公式
C語言版:
如圖四邊形ABCD內接於圓O中,SABCD=,AD=1,AB=1,CD=2.
求:四邊形可能為等腰梯形
解:設BC=x
由海倫公式的推廣,得:
(4——x)(2+x)2=27
x4——12x2——16x+27=0
x2(x2—1)——11x(x——1)——27(x——1)=0
(x——1)(x3+x2——11x——27)=0
x=1或x3+x2——11x——27=0
當x=1時,AD=BC=1
∴四邊形可能為等腰梯形
程式中實現(VBS):
dima,b,c,p,q,s
a=inputbox("請輸入三角形第一邊的長度")
b=inputbox("請輸入三角形第二邊的長度")
c=inputbox("請輸入三角形第三邊的長度")
a=1*a
b=1*b
c=1*c
p=(a+b+c)*(a+b-c)*(a-b+c)*(-a+b+c)
q=sqr(p)
s=(1/4)*q
msgbox("三角形面積為"&s),,"三角形面積"
在VC中實現
#include<stdio.h>
#include<math.h>
main()
inta,b,c,s;
printf("輸入第一邊\n");
scanf("%d",&a);
printf("輸入第二邊\n");
scanf("%d",&b);
printf("輸入第三邊\n");
scanf("%d",&c);
s=(a+b+c)/2;
printf("面積為:%f\n",sqrt(s*(s-a)*(s-b)*(s-c)));
C#版:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceCST09078
classProgram
staticvoidMain(string[]args)
doublea,b,c,p,s;
Console.WriteLine("輸入第一條邊的長度:\n");
a=Convert.ToDouble(Console.ReadLine());
Console.WriteLine("輸入第二條邊的長度:\n");
b=Convert.ToDouble(Console.ReadLine());
Console.WriteLine("輸入第三條邊的長度:\n");
c=Convert.ToDouble(Console.ReadLine());
p=(a+b+c)/2;
s=Math.Sqrt(p*(p-a)*(p-b)*(p-c));
Console.WriteLine("我算出來的面積是{0}",s);
Console.Read();
pascal版:

programx;
var
a,b,c:real;
functionxb(x,y,z:real):real;
var
p,s:real;
begin
p:=(x+y+z)/2;
s:=sqrt(p*(p-x)*(p-y)*(p-z));
xb:=s;
end;
begin
readln(a,b,c);
writeln(xb(a,b,c):0:2);
end.

相關搜尋

熱門詞條

聯絡我們