Weekend Mathematics/コロキウム室/テーマ別/29.三角形の面積
NO.618 | '99 10/3 | 水の流れ | 三角形の面積(1) |
今月の問題を見て、投稿問題です。
三角形ABCの各辺BC、CA、ABを1:2に内分した点をそれぞれL、M、
N とします。
BMとCN、CNとAL,ALとBMの交点をそれぞれP、Q、Rとします。
三角形ABCの面積は三角形PQRの面積の何倍でしょうか。
また、一般に、m<nのとき、各辺をm:nに内分した点をL、M、Nとし
て、同様に、考えてみてください。
NO.619 | '99 10/7 | Junko | 三角形の面積(2) |
点Rは線分BM上の点でもあり、線分AL上の点でもあるので、
△ABCの面積をSとすると、
△ABL=△BCM=△CAN=(1/3)S
対称性と先ほどの結果から、
△BLR=△CMP=△ANQ=(1/3)・(1/7)S=(1/21)S
△PQR | =S−(△ABL+△BCM+△CAN)+(△BLR+△CMP+△ANQ) |
=S−(1/3)S・3+(1/21)S・3 | |
=(1/7)S |
答え 7倍
NO.621 | '99 10/9 | Junko | 三角形の面積(3) |
△PQRの三辺に平行な直線をひいてみました。
黄緑色で囲まれた六角形の部分は、△PQRの面積のちょうど13倍になっています。
(数えてみてください。)
また別な見方をすれば△ABCから△PQRを除いた部分の2倍+△PQRとなっています。
このことから、7倍と結論づけることができます。
NO.622 | '99 10/12 | 浜田 明巳 | 三角形の面積(4) |
Visual Basicで解答プログラムを作ってみました.
プログラムの内容は以下の通りです.
乱数を使い3点A,B,Cの座標を決定し,点L,M,N,P,Q,Rの座標を求め,
ヘロンの公式を使い,△ABC,△PQRの面積を計算し,
比△ABC/△PQRを計算する.
この試行を500回(shikoukaisuu)繰り返し,それぞれの場合の面積比を計算し,
面積比の平均を求める.
このプログラムにより,答は7になる事が分かります.
プログラムは2つあり,1つ目は比(r)が1/3の場合で,それぞれの三角形を図示します.
2つ目は比(r)が0と0.5の間の場合で,グラフで描写しています.
またデータをファイルに落とすようになっています
グラフは赤く描かれるのですが,表示後突然黒くなります.
これはf(r)=(1−r+r2)/(1−2r)2のグラフを上書きする為です.
これにより,
答が(1−r+r2)/(1−2r)2=(n2+mn+m2)/(n−m)2である事が分かります.
比が1/3の場合
Option Explicit Const r = 1 / 3 Sub Form_Load() Picture1.Scale (-1, -1)-(1, 1) End Sub Sub Command1_Click() '三角形の問題2 Randomize Timer Dim j1, j2, j3, j4, j, jj, jjj, iro0, iro1, iro2, dame As Integer iro0 = RGB(0, 0, 255): iro1 = RGB(255, 255, 0) iro2 = RGB(0, 0, 0) Dim shikoukaisuu, kaisuu, machijikan As Long shikoukaisuu = 500: kaisuu = 0: machijikan = 400000 Dim x(1, 8), d(1, 2), a(2), b(2), c(2), bumbo, hen(2), s As Double Dim menseki(1), wa, hi, d_genkai, hi_genkai As Double wa = 0: d_genkai = 0.01: hi_genkai = 10 ^ (-12) Dim ten(8) As String ten(0) = "A": ten(1) = "B": ten(2) = "C" ten(3) = "L": ten(4) = "M": ten(5) = "N" ten(6) = "R": ten(7) = "P": ten(8) = "Q" Picture3.Cls: Picture4.Cls For j1 = 0 To shikoukaisuu For j2 = 0 To 2 For j3 = 0 To 1 If j1 = 0 Then x(j3, j2) = Rnd * 2 - 1: d(j3, j2) = (Rnd * 2 - 1) * d_genkai Else d(j3, j2) = d(j3, j2) + (Rnd * 2 - 1) * d_genkai If Abs(d(j3, j2)) > d_genkai Then d(j3, j2) = -Sgn(d(j3, j2)) * d_genkai End If x(j3, j2) = x(j3, j2) + d(j3, j2) If Abs(x(j3, j2)) > 1 Then x(j3, j2) = Sgn(x(j3, j2)) End If Next Next For j2 = 0 To 2 j = (j2 + 1) Mod 3: jj = (j + 1) Mod 3: jjj = j2 + 3 For j3 = 0 To 1 x(j3, jjj) = (1 - r) * x(j3, j) + r * x(j3, jj) Next a(j2) = x(1, jjj) - x(1, j2): b(j2) = x(0, j2) - x(0, jjj) c(j2) = x(0, j2) * x(1, jjj) - x(0, jjj) * x(1, j2) Next dame = 0 For j2 = 0 To 2 If dame = 0 Then j = (j2 + 1) Mod 3: jj = j2 + 6 bumbo = a(j2) * b(j) - b(j2) * a(j) If bumbo = 0 Then dame = 1 Else x(0, jj) = (b(j) * c(j2) - b(j2) * c(j)) / bumbo x(1, jj) = (a(j2) * c(j) - a(j) * c(j2)) / bumbo End If End If Next If dame = 0 Then For j2 = 0 To 1: s = 0 For j3 = 0 To 2 j = j3 + j2 * 6: jj = ((j3 + 1) Mod 3) + j2 * 6: hen(j3) = 0 For j4 = 0 To 1 hen(j3) = hen(j3) + (x(j4, j) - x(j4, jj)) * (x(j4, j) - x(j4, jj)) Next hen(j3) = Sqr(hen(j3)): s = s + hen(j3) Next s = s * 0.5: menseki(j2) = s For j3 = 0 To 2 menseki(j2) = menseki(j2) * (s - hen(j3)) Next Next End If Picture1.Cls Picture1.PSet (x(0, 0), x(1, 0)), iro0 For j2 = 2 To 0 Step -1 Picture1.Line -(x(0, j2), x(1, j2)), iro0 Next For j2 = 0 To 2: j = j2 + 3 Picture1.Line (x(0, j2), x(1, j2))-(x(0, j), x(1, j)), iro1 Next If dame = 0 Then Picture1.PSet (x(0, 6), x(1, 6)), iro2 For j2 = 8 To 6 Step -1 Picture1.Line -(x(0, j2), x(1, j2)), iro2 Next End If For j2 = 0 To 8 - dame * 3 Picture1.CurrentX = x(0, j2): Picture1.CurrentY = x(1, j2) Picture1.Print ten(j2) Next Picture2.Cls: Picture2.Print j1; "回試行" If menseki(1) >= hi_genkai Then For j2 = 0 To 1: menseki(j2) = Sqr(menseki(j2)): Next hi = menseki(0) / menseki(1): wa = wa + hi: kaisuu = kaisuu + 1 Picture3.Cls: Picture3.Print "△ABC/△PQR="; hi Picture4.Cls: Picture4.Print "平均 ="; wa / kaisuu End If For j2 = 0 To machijikan: Next Next Beep End Sub Private Sub Command2_Click() End End Sub
比がm/(m+n)の場合
Option Explicit Sub Form_Load() Picture1.Scale (-1, -40)-(1, 40) End Sub Sub Command1_Click() '三角形の問題3 Randomize Timer Dim j1, j2, j3, j4, j, jj, jjj, iro0, iro1, iro2, dame As Integer iro0 = RGB(0, 0, 0): iro1 = RGB(255, 0, 0): iro2 = RGB(255, 255, 255) Dim shikoukaisuu, kaisuu As Long shikoukaisuu = 500 Dim x(1, 8), y, a(2), b(2), c(2), bumbo, hen(2), s As Double Dim r, menseki(1), wa, hi, hi_genkai, kizami As Double hi_genkai = 10 ^ (-12): kizami = 0.01 Picture1.Cls: Picture2.Cls: Picture3.Cls For j1 = -36 To 36 Step 4 Picture1.Line (-1, j1)-(1, j1), iro2 Next For j1 = -9 To 9 Picture1.Line (0.1 * j1, -40)-(0.1 * j1, 40), iro2 Next Picture1.Line (-1, 0)-(1, 0), iro0 Picture1.Line (0, -40)-(0, 40), iro0 Picture4.Cls: Picture4.Print "横軸0.1きざみ,縦軸4きざみ" Open "sankaku3.dat" For Output As #1 For r = 0 To 0.5 - kizami Step kizami wa = 0: kaisuu = 0 For j1 = 1 To shikoukaisuu For j2 = 0 To 2: For j3 = 0 To 1: x(j3, j2) = Rnd: Next: Next For j2 = 0 To 2 j = (j2 + 1) Mod 3: jj = (j + 1) Mod 3: jjj = j2 + 3 For j3 = 0 To 1 x(j3, jjj) = (1 - r) * x(j3, j) + r * x(j3, jj) Next a(j2) = x(1, jjj) - x(1, j2): b(j2) = x(0, j2) - x(0, jjj) c(j2) = x(0, j2) * x(1, jjj) - x(0, jjj) * x(1, j2) Next dame = 0 For j2 = 0 To 2 If dame = 0 Then j = (j2 + 1) Mod 3: jj = j2 + 6 bumbo = a(j2) * b(j) - b(j2) * a(j) If bumbo = 0 Then dame = 1 Else x(0, jj) = (b(j) * c(j2) - b(j2) * c(j)) / bumbo x(1, jj) = (a(j2) * c(j) - a(j) * c(j2)) / bumbo End If End If Next If dame = 0 Then For j2 = 0 To 1: s = 0 For j3 = 0 To 2 j = j3 + j2 * 6: jj = ((j3 + 1) Mod 3) + j2 * 6: hen(j3) = 0 For j4 = 0 To 1 hen(j3) = hen(j3) + (x(j4, j) - x(j4, jj)) * (x(j4, j) - x(j4, jj)) Next hen(j3) = Sqr(hen(j3)): s = s + hen(j3) Next s = s * 0.5: menseki(j2) = s For j3 = 0 To 2 menseki(j2) = menseki(j2) * (s - hen(j3)) Next Next If menseki(0) >= hi_genkai And menseki(1) >= hi_genkai Then For j2 = 0 To 1: menseki(j2) = Sqr(menseki(j2)): Next wa = wa + menseki(0) / menseki(1): kaisuu = kaisuu + 1 End If End If Next If kaisuu > 0 Then y = wa / kaisuu Picture2.Cls: Picture2.Print "m/(m+n)(0〜.49)="; r Picture3.Cls: Picture3.Print "面積比 ="; y If r = 0 Then Picture1.PSet (0, -y), iro1 Else Picture1.Line -(r, -y), iro1 End If Write #1, r, y End If Next Close #1 Picture1.Circle (1 / 3, -7), 0.0075, iro1 Picture2.Cls: Picture2.Print "終了しました." Picture3.Cls: Picture3.Print "f(r)=(1-r+r^2)/(1-2r)^2プロット" For r = 0 To 0.5 - kizami Step kizami If r = 0 Then Picture1.PSet (0, -f(0)), iro0 Else Picture1.Line -(r, -f(r)), iro0 End If Next Beep End Sub Private Sub Command2_Click() End End Sub Private Function f(ByVal r As Double) As Double f = (1 - r + r * r) / (1 - 2 * r) / (1 - 2 * r) End Function
データ(m/(m+n),面積比の順に並んでいます)
0 | .999970308041995 |
.01 | 1.03091685088192 |
.02 | 1.06385487187592 |
.03 | 1.09878457255916 |
.04 | 1.13607764696844 |
.05 | 1.17592162576469 |
.06 | 1.21849266823427 |
.07 | 1.26406152168348 |
.08 | 1.31292805408391 |
.09 | 1.36540363718997 |
.1 | 1.42189594130447 |
.11 | 1.48274870707101 |
.12 | 1.54851986034893 |
.13 | 1.61960203408582 |
.14 | 1.69677976519562 |
.15 | 1.78061264811073 |
.16 | 1.87188861228095 |
.17 | 1.97178347863177 |
.18 | 2.0810237524478 |
.19 | 2.20338122742966 |
.2 | 2.33105591333246 |
.21 | 2.47950329959968 |
.22 | 2.6415783921597 |
.23 | 2.82205700046731 |
.24 | 3.02366842506976 |
.25 | 3.24842457985923 |
.26 | 3.50521575781715 |
.27 | 3.79442636580152 |
.28 | 4.12387781168895 |
.29 | 4.50203963716306 |
.3 | 4.93767521461343 |
.31 | 5.44392299757662 |
.32 | 6.03659244737924 |
.33 | 6.73787971424711 |
.34 | 7.57442344991707 |
.35 | 8.58765709035429 |
.36 | 9.8163993417154 |
.37 | 11.3445600805142 |
.38 | 13.2866250591007 |
.39 | ,15.7459066751137 |
.4 | 19.000401013052 |
.41 | 23.3980877733627 |
.42 | 29.5477885954535 |
.43 | ,38.5153295949182 |
.44 | 52.3335906940583 |
.45 | 75.2484176839521 |
.46 | 117.436295851565 |
.47 | 208.583294285575 |
.48 | 469.000465047941 |
NO.624 | '99 10/12 | Junko | 三角形の面積(5) |
NO.619では、点Rの位置ベクトルを求めるのにベクトルの1次独立性を使いました。
「メネラウスの定理」というのがあって、これを使って求めることもできます。
今回は点Pでやります。
左図のように、点Mを通りCNに平行な直線MTをひきます。
BP:PM=BN:NT=BN:NA×(MC/AC)
t:1−t=2:1×(1/3)
これより、t=6/7と求まります。
従って、PM=(1/7)BMとなり、
以下はNO.619と同様です。
一般に三角形ABCの各辺BC、CA、ABをm:nに内分した場合を考えます。
先程と同様に、点Mを通りCNに平行な直線MTをひきます。
BP:PM=BN:NT=BN:NA×(MC/AC)
t:1−t=n:m×{m/(m+n)}
これより、t=(mn+n2)/(m2+mn+n2)と求まります。
従って、PM={m2/(m2+mn+n2)}BMとなります。
△ABCの面積をSとすると、
△ABL=△BCM=△CAN={m/(m+n)}S
対称性と先ほどの結果から、
△BLR=△CMP=△ANQ={m/(m+n)}・{m2/(m2+mn+n2)}S
従って
△PQR | =S−(△ABL+△BCM+△CAN)+(△BLR+△CMP+△ANQ) |
=S−{m/(m+n)}S・3+{m/(m+n)}・{m2/(m2+mn+n2)}S・3 | |
={(m−n)2/(m2+mn+n2)}S |
NO.628 | '99 10/20 | 水の流れ | 三角形の面積(6) |
三角形の面積の問題の答え(面積比の利用)
△ABCの面積を便宜上1とおく。
3本の線分で区切られた7個の部分の面積を、
三角形PQR=a,三角形ANQ=b,三角形BLR=c,三角形CMP=d,
四角形BRQN=e, 四角形CPRL=f,四角形AQPM=g とおく。
線分AL,BM,CNはそれぞれ対辺を1:2に内分しているので、
b+e+c=1/3,c+f+d=1/3,d+g+b=1/3 となる。
この3式を足して、 2(b+c+d)+e+f+g=1 となる。
7個の部分を全部足した面積は三角形ABCだから、
a+b+c+d+e+f+g=1 である。
このことより、上に式から引いて
a=b+c+d …@となる。
また、図の対称性より、b=c=d と言える。
ここで、bの面積を求めます。
線分BQ引くと、AN:AB=1:3 より、
△ABQ=3△ANQ=3b となる。
次に、△ABQと△ACQを比べると、
底辺AQは共通で、高さの比は線分BLと線分CLの比に等しい。
よって、BL:CL=1:2 だから、面積比は
△ABQ:△ACQ=1:2から、△ACQ=2△ABQ=6b である。
ところが、△ANQ+△ACQ=△ACN=1/3
即ち、b+6b=1/3 より 故に 、b=1/21
全く、同様にして、b=c=d=1/21 を得る。
したがって、a=b+c+d=1/7
以上から、△PQR=(1/7)△ABC …(答え)