[ 0295: 正三角形群の面積総和 ]
[ 南門疾矢君の出題 ]
図のように一辺の長さが 1 の正三角形 ABC の中に底辺 BC と斜線 BD に挟まれた形で
無限個の正三角形 (赤色) が横並びに並んでいます。
∠DBC を θ とするとき、これら赤色の正三角形の面積の総和を求めてください。
[ 広世正憲君の半解凍(笑) ]
大きい三角形から順に 2 個の高さを h1, h2 とします。
まず h1 を求めます。
tan(θ) = h1 / (1-h1 / sqrt(3))
これを解いて:
h1 = sqrt(3)*tan(θ) / (tan(θ) + sqrt(3))
次に三角形同士の相似性から
tan(θ)
= h2 / (1-(2*h1+h2) / sqrt(3))
= h1 / (1-h1 / sqrt(3))
これを強引に解きますと:
h2 = h1 - 2*h12 / sqrt(3)
以降は:
tan(θ)
= hn / (1-(2*h1+2*h2+...+2*hn-1+hn) / sqrt(3))
= h1 / (1-h1 / sqrt(3))
の関係を使います。
hn を求めるには h1 から
hn-1 までの値が全部必要ですね。
筆算では困難ですから次のようなプログラムで各三角形の描画データを出力し
GNUPLOT で確認しました。
OK でした。
$x という変数は正三角形の右下隅の x 座標です。
これを次の正三角形に移る際に順次変えてゆくのがミソです。
#!/usr/local/bin/perl
$N = 15;
$tan = 0.4;
$h = (sqrt(3)*$tan) / ($tan+sqrt(3));
$x = 1;
for ($n=1; $n=$N; $n++) {
$x2 = $x - $h/sqrt(3);
$x3 = $x - 2*$h/sqrt(3);
# GNUPLOT 用の三角形描画データ出力。
printf("%lf\t%lf\n", $x, 0);
printf("%lf\t%lf\n", $x2, $h);
printf("%lf\t%lf\n", $x3, 0);
printf("%lf\t%lf\n\n", $x, 0);
$x = $x3;
$h = ((sqrt(3)*$tan) / ($tan+sqrt(3)))*$x;
}
|
ついでに、h の値が n とともにどう変わるかをグラフにしてみました。
高さが h の正三角形の面積は h2/sqrt(3)
ですから、これら無限個の正三角形の面積総和を代数的に求めるにはどうやったらいいか、
見当がつきません。
どなたか、ヘルプをお願いします。
[ 南門疾矢君のコメント ]
GNUPLOT 描画データ出力用プログラムは僕が出題図作成の際に使ったのとほぼ同じです。
よくできました。
面積総和については湯会老人にあっと驚く正解を示してもらいたいところですが、
COVID-19 対策を口実にしてまだ寝てるのかな。
カラオケにも行けないですし。(笑)
密かに次の面白い問題をいろいろ探しまわっているのなら許しますが。
|