これまで「四角い穴をあけるドリル」,「三角の穴をあけるドリル」ときたのですが,これで話が終わったわけではありません.数学的な観点からすれば問題を一般化して,n角の穴をあけるドリルのときはどうなるかを問うことができます.
ルーローの三角形の代わりに,正2n−1角形を少し膨らませた同種の形では幅(曲線に接する2本の平行な直線の間の距離)はどの方向で測っても一定で,必ず同じ距離だけ離れています.すなわち,平行な接線をどこにおこうと2本の接線間の距離は同じであり,このような性質をもつ曲線を定幅図形と呼びます.
「四角い穴をあけるドリル」,「三角の穴をあけるドリル」の問題を一般化すると
(1)2n角形の穴をルーローの2n−1角形のドリルであける
(2)2n角形の穴をルーローの三角形のドリルであける
(3)2n+1角形の穴を少し膨らませた2n角形のドリルであける
(4)2n+1角形の穴を少し膨らませた二角形のドリルであける
などが考えられるところですが,少し膨らませた2n角形のドリルは定幅図形にはならないため,2n+1角形の穴に内接させるだけでもままなりません.
ドリルは滑ることなく回転し,穴のすべての辺に内接するという条件を考慮すると,自然な成り行きとして「定幅図形であるルーローの2n−1角形のドリルで2n角形の穴をあける」という問題に行き着きます.
===================================
【1】定幅図形(マンホールのふたはなぜ丸いか?)
マンホールのふたはなぜ丸いか?というクイズがあります.答えは円は幅が一定なのでふたが丸ければ誤ってマンホールの中にふたが落ちることはないからというものです.それでは円以外にふたが落ちない図形はあるでしょうか?
ピラミッドの石を積み上げる工事など,重い物を移動させるとき,下にコロ(丸太)を並べて転がすことがあります.この場合,切り口が円であることが重要ではなく,平行線で挟んだときの幅が一定であることが本質的です.
いかなる方向に関しても等しい幅をもっている図形を「定幅図形」と呼びますが,平面における定幅図形は円だけではなく,そのような形状は(意外にも)無数にあります.
(例1)ルーローの三角形
ルーローの三角形とは,一辺の長さaの正三角形(2次元単体)の各頂点を中心にして半径aの円弧を描くと作られる,3つの円弧からなる等辺円弧三角形です.
(例2)ルーローの三角形の平行曲線
また,各角内に半径a+r,各対角内に半径rの円を描いても定幅曲線が得られます.これはルーローの3角形上に中心をもつ定半径円群の包絡線であり,いわば,ルーローの三角形の「平行曲線」です.
(例3)ルーローの多角形およびその平行曲線
正三角形の代わりに正(2q+1)角形についても同様です.
(例4)任意の三角形から作られる定幅曲線
例1〜例3は正奇数角形からの円弧構成によるものでしたが,実は,任意の三角形から定幅曲線を作ることができます.これは,定幅曲線は3角形よりもたくさんあること(すなわち無数にあること)を意味しています.
定幅曲線の共通の性質として,
「幅dの定幅曲線の周長Lはπdである」
があげられます(バービエの定理:1860年).円ではd=2r,L=2πr=2d.ルーローの三角形では元の三角形の1辺の長さをlとするとd=l,各円弧の長さはπl/3ですから,L=πdを満たします.これにより幅の等しい定幅曲線は周長も等しいことがわかります.
また,等周不等式により,定幅図形の中で最大の面積をもつものは円であるが,囲む面積が最小のものはなんであろうか? という問題も派生します.その答えはルーローの三角形であることが証明されています(ブラシュケ・ルベーグ:1914年).ですから同じ幅であれば円よりもルーローの三角形のほうが資源が少なくて済むわけです.
===================================
【2】偶数角形の穴をあけるドリル
正(n−1)角形の(n−1)個の頂点を中心にして対辺に外接する円を描くと,正(n−1)角形に少し丸みをつけた図形ができます.この定幅図形のドリルを使ってn角形の穴をあける問題では,四角い穴をあけるドリルの場合と同様,中心の運動はn個の楕円の弧を組み合わせた円もどき(円に見えるが円ではない)になっています.
中心の軌跡を求めるのに注意すべき点としては,外接n角形の辺の接点にはドリルの頂点で接しているところと弧で接しているところがあるということです.弧で接しているところは計算が難しくなりますので,頂点で接しているところを見つけてドリルの中心の運動を記述しなければなりません.答えは出力例で示しますが,外接n角形の上辺とそれに連接する辺に着目します.
頂点の軌跡もさらに興味深いものがあります.出力例では頂点の軌跡も同時に計算して描いていますが,外接n角形の頂点近くを除いてほとんどn角形に一致します.ドリルの頂角は外接n角形の内角よりも大きいため,隅々まで削ることはできず,楕円の弧が残ってしまいます.
[1]四角い穴をあけるドリル
[2]六角の穴をあけるドリル
[3]八角の穴をあけるドリル
===================================
【3】プログラム
1000 '
1010 ' **** 2n-gonal drill ****
1020 ' 2005/12/10 (C) サトウ イクロウ
1030 SCREEN 3,0:CONSOLE ,,0,1
1040 CLS 3:WIDTH 80,25:COLOR 6
1050 PI=3.14159
1060 '
1070 PRINT "2n-gonal hole"
1080 PRINT:PRINT "input 2n ( end=0 ).....";:INPUT N
1090 IF N<3 OR (N MOD 2)=1 THEN 1230
1100 GOSUB *INITIALIZE
1110 '
1120 CLS 3
1130 WW=HH/2+1
1140 WINDOW(-WW,-WW*2)-(WW,0)
1150 VIEW(120,0)-(519,399)
1160 GOSUB *FRAME
1170 GOSUB *TRACE
1180 WINDOW(0,0)-(639,399)
1190 VIEW(0,0)-(639,399)
1200 '
1220 GOSUB *TEMP
1230 SCREEN 3,0:CLS 3
1240 END
1250 '
1260 ' ***initialize ***
1270 '
1280 *INITIALIZE:
1290 HH=10
1300 R1=HH/2/COS(PI/N)
1310 L1=R1*2*SIN(PI/N)
1320 YC=HH/2
1330 AA=HH
1340 R2=AA/2/SIN(PI/2*(N-2)/(N-1))
1350 L2=R2*2*SIN(PI/(N-1))
1360 BB=R2
1370 CC=BB
1380 YB=AA-BB
1390 T0=PI/(N-1)
1400 TT=PI*((N-2)/N-(N-3)/(N-1))
1410 RETURN
1420 '
1430 ' *** frame ***
1440 '
1450 *FRAME:
1460 XS=-L1/2:YS=-YC
1470 XE= L1/2:YE=-YC
1480 FOR I=0 TO N-1
1490 C1=COS(PI*2/N*I):S1=SIN(PI*2/N*I)
1500 X1= XS*C1-YS*S1
1510 Y1= XS*S1+YS*C1+YC
1520 X2= XE*C1-YE*S1
1530 Y2= XE*S1+YE*C1+YC
1540 LINE(X1,-Y1)-(X2,-Y2),5
1550 NEXT I
1560 '
1570 FOR I=0 TO N-2
1580 C1=COS(PI*2/(N-1)*I):S1=SIN(PI*2/(N-1)*I)
1590 '
1600 G=0
1610 FOR T=-T0/2 TO T0/2 STEP PI/180
1620 C2=COS(T):S2=SIN(T)
1630 XW=0:YW=-AA
1640 X1= XW*C2-YW*S2
1650 Y1= XW*S2+YW*C2+AA
1660 '
1670 XW=X1:YW=Y1-YB
1680 X2= XW*C1-YW*S1
1690 Y2= XW*S1+YW*C1+YB
1700 PSET(X2,-Y2),7
1710 NEXT T
1720 '
1730 NEXT I
1740 RETURN
1750 '
1760 ' *** trace ***
1770 '
1780 *TRACE:
1790 FOR I=0 TO N-1
1800 C1=COS(PI*2/N*I):S1=SIN(PI*2/N*I)
1810 '
1820 G=0
1830 FOR T=0 TO TT STEP PI/180
1840 XW=L2*COS(T0-T)-L1/2-L2*SIN(T0-T)/TAN(PI*2/N)-BB*SIN(T)
1850 YW=AA-BB*COS(T)-YC
1860 X= XW*C1-YW*S1
1870 Y= XW*S1+YW*C1+YC
1880 PSET(X,-Y),4
1890 NEXT T
1900 '
1910 NEXT I
1920 '
1930 FOR I=0 TO N-1
1940 C1=COS(PI*2/N*I):S1=SIN(PI*2/N*I)
1950 '
1960 G=0
1970 FOR T=0 TO TT STEP PI/180
1980 XW=L2*COS(T0-T)-L1/2-L2*SIN(T0-T)/TAN(PI*2/N)-BB*SIN(T)
1990 YW=AA-BB*COS(T)-YC
2000 XW=XW+CC*SIN(T0-T)
2010 YW=YW-CC*COS(T0-T)
2020 X= XW*C1-YW*S1
2030 Y= XW*S1+YW*C1+YC
2040 PSET(X,-Y),4
2050 NEXT T
2060 '
2070 NEXT I
2080 '
2090 GOTO 2170
2100 XW=0:YW=(AA-BB)-YC
2110 FOR T=0 TO PI*2 STEP PI/180*10
2120 C1=COS(T):S1=SIN(T)
2130 X1= XW*C1-YW*S1
2140 Y1= XW*S1+YW*C1+YC
2150 PSET(X1,-Y1),7
2160 NEXT T
2170 RETURN
2180 '
2190 *TEMP:
2200 LOCATE 0,0 :PRINT "何かキーを押してください";:WHILE INKEY$="":WEND
2210 RETURN
===================================
【4】雑感
一般化に関連して,いまでも私の思い出として焼き付いている問題をお話ししたいと思います.ひとつは等差級数の和の公式,もう一つはハノイの塔の問題です.
19世紀の数学者リュカの考案したゲームに「ハノイの塔」があります.ハノイの塔とは3本の柱A,B,Cがあり,柱Aにある何枚かの円盤を1枚ずつ柱Bを中継点にして柱Cに移動させるものです.ただし,どの柱でも上の円盤の方が小さくなければなりません.
円盤が3枚であるとします.Aにある3枚をBに移すにはCを中継点にしてBに移動させる.このためには上の2枚をCに移し,3枚目をBにもってきた後,Cの2枚をBに移動させる.次に円盤が4枚であるとします.上の三枚がくっついているとして,この3枚をBに移し,一番下の円盤をCにもってきて,Bの3枚をCに移せばよい.
このような再帰的な方法を用いれば円盤が何枚あってもAからCに移動させることができるのですが,n枚の円盤を移動させるのに必要な最小回数をanと書くことにすれば,漸化式
an=2an-1+1
で表せることがわかります.いま述べたn−1枚がくっついているとして・・・という考え方を小学5年生の息子に説明したところ,彼にも意味が理解できた様子でありました.
anの具体的な値は
an+1=2(an-1+1)
an-1+1=2(an-2+1)
・・・・・・・・・・・・・
a2+1=2(a1+1)
より,容易に
an=2^n−1
で与えられることがわかりますが,こうして円盤が3枚のとき→4枚のとき→n枚のときに一般化することができます.(形は似ていますが,柱が3本のとき→4本のとき→n本のときに一般化するのはもっと難しい問題になります.)
===================================
【5】リュカの問題
初項1,第2項1から始まり,隣り合う2項の和が次の項となる数列
1,1,2,3,5,8,・・・
をフィボナッチ数列とよびます.その一般項Fn は
Fn=Fn-1+Fn-2
です.この数列にフィボナッチ(13世紀のイタリアの数学者でピサのレオナルドとしても知られる)の名を冠したのはフランスの数学者リュカで,ハノイの塔の名で知られる2進法のパズルも1883年にリュカによって考案されたものです.
初項1,第2項3のフィボナッチ数列
1,3,4,7,11,18,・・・
は彼にちなんでリュカ数列と呼ばれています(1877年).
Ln=Ln-1+Ln-2
リュカはフィボナッチ数列,リュカ数列を用いてメルセンヌ数(2^n−1)が素数であるかどうかを判定し,(2^127−1)が素数であることを示しています(1876年).この数は12番目のメルセンヌ素数で,1952年の13番目(2^521−1)からはコンピュータによる発見ですから,コンピュータを使わずに見つけられた最大のメルセンヌ素数になっていて,わかっている最大の素数として最長不倒記録を保ち続けました.
フィボナッチ数列やリュカ数列の一般項は,3項漸化式:
Fn=Fn-1+Fn-2
Ln=Ln-1+Ln-2
の特性方程式
x^2−x−1=0
の2つの解より,連続する2項の比は黄金比
φ=(1+√5)/2=1.618034・・・
に次第に近づくことになります.
黄金長方形から正方形を取り除くと一回り小さな黄金長方形が現れてきます.このことを繰り返し行えば対数らせんが現れますが,この曲線は自然界ではオーム貝などの形にみられ,自己相似的な成長過程を表す理想的な曲線とされています.サイクロイドの伸開線はそれと合同なサイクロイドですが,対数らせんの伸開線もそれと合同な対数らせんになります.
今度は逆に1辺の長さがフィボナッチ数列の正方形をらせん状に加えていきます.最初の2つの正方形は1辺の長さが1で,そこに1辺の長さが2の正方形,引き続いて1辺の長さが3,5,8,13,21,・・・.すると,優美な対数らせんが現れてきますが,このらせんはほぼ黄金比で外に広がることになります.
さらに,1つの項の和がその前の3つの項の和になっている
Tn=Tn-1+Tn-2+Tn-3
で定義される数列
1,1,1,3,5,9,17,・・・
は,フィボナッチ数列の拡張とみなせるので,フィボナッチ(Fibonacci)をもじってトリボナッチ(Tribonacci)数列と呼ばれます.
トリボナッチ数列でも連続する2項の比はある決まった値
1/3{3√(19+3√33)+3√(19−3√33)+1}=1.839・・・
に収束します.これは
x^3−x^2−x−1=0
の実根です.
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
フィボナッチ数列では正方形をらせん状に並べましたが,次に正三角形をらせん状に並べてみましょう.最初の3つの正三角形は1辺の長さを1,次の2つは1辺の長さが2で,そのあとは3,4,5,7,9,12,16,21,・・・.このようにしてもおおよそ対数らせんを描きます.
数列
1,1,1,2,2,3,4,5,7,9,12,16,21,・・・
は直前の1項を除いたその前の2項を加えたものです.パドヴァンの数列と呼ぶことにしますが,漸化式は
Pn=Pn-2+Pn-3 (P0=P1=P2=1)
で表されます.
その特性方程式
x^3−x−1=0
の唯一の実数解より,パドヴァン数列の連続する2項の比は
p=1/3{3√(27/2−3√69/2)+3√(1/2+√69/18)}=1.324718・・・
に次第に近づくことになります.pがφよりも小さいことより,パドヴァン数列はフィボナッチ数列に較べてゆっくりと増加することになります.
p^5−p^3−p^2=0
p^4−p^2−p^1=0
より
p^5−p^4−p^3−p^1=p^5−p^4−1
ですから,3次方程式p^3−p−1=0の解はこの5次方程式も満たすことがわかります.あるいは,因数分解
p^5−p^4−1=(p^3−p−1)(p^2−p+1)
でもよいのですが,このことから
Pn=Pn-1+Pn-5
の関係が成り立つこともわかります.
リュカはパドヴァン数列と同じ生成規則に従い,最初の項の値が異なるものを考案しました(1876年).
An=An-2+An-3 (A0=3,A1=0,A2=2)
3,0,2,3,2,5,5,7,10,12,17,22,29,・・・
この数列は現在ではペラン数列と呼ばれるものです.この数列の項比もpに近づきますが,さらに深遠な性質「nが素数のときAnはnで割り切れる」をもっています.しかし,逆命題「Anがnで割り切れるときnは素数である」は必ずしも成り立たないことが知られています.
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
1^2+2^2+3^2+・・・+24^2=24(24+1)(2・24+1)/6=70^2
級数の公式:Σk^2=n(n+1)(2n+1)/6をご存じの方も多いでしょうが,1からnまでの平方の和が平方数となるのはnが1か24の場合しかありません.
25平方の等式ともいうべきこの等式はリュカの問題(1873年)として知られています.y^2=x(x+1)(2x+1)/6の唯一自明でない整数解は(24,70)で,それ以外の自明な解がないことは楕円関数やペル方程式を使って証明されています.
この等式は辺の長さが相続く整数列1,2,・・・,24の正方形を1辺の長さ70の正方形の中に詰め込める可能性があることを示唆しています.それでは,実際に,70×70の正方形を辺が1から24の相続く正方形によって埋めつくすことができるでしょうか.この問題の答えは否定的(不可能)です.1辺の長さ7の正方形を除くすべての正方形は詰め込めるのですが・・・.
それならば,無駄な空間の割合を最小にして,辺の長さが1,2,・・・,nの正方形を全て詰め込むことができる最小の正方形の辺の長さはいくつでしょうか.また,相続く整数辺の正方形を使って長方形を充填できるでしょうか.
===================================