2008年9月19日金曜日

多面体描画道楽

小学生の頃, 算術か図画か工作の教科書に正五角形の書き方が載っていた. 正三角形, 正方形, 正六角形ならコンパスで描けるが, 正五角形は分度器を使うものと思っていたから, この方法には驚かされた. その後, 1辺の長さ1の正五角形の対角線の長さが(√5+1)/2であることを知ると,なんのことはなく, 驚きは霧散した.

この描き方は正五角形の書き方をサーチエンジンで探せばあるだろうが, 図のように底辺ABを引く. 辺の長さを1とする. その中点Cから垂線を立て, CD=1の点Dをとり, ADをDの方向へ延長してDE=1/2に点Eをとる. AEに等しくCDの延長線上にAFをとると, Fは正五角形の頂点になる.



正五角形をPostScriptで描くのは簡単だ.
/l 200 def     % 辺の長さ
0 0 moveto % 左下の位置へ移動
0 72 216 {dup cos l mul exch sin l mul rlineto} for
% 0度から72度おきに216度まで
closepath stroke


描いて楽しいのは正多面体である. 高木貞治先生の「数学小景」には, 正十二面体と, 正二十面体のEuclid幾何学原本による描き方が載っている.

どちらも立方体から始める. 正十二面体では, 面を構成する正五角形の対角線を1辺とする立方体をまず描く. これが内接立方体になる. 対角線を1とすると, 辺の長さは(√5-1)/2である. これををaとする. 立方体の上のの面には, 中央に前後に長さaの線を引く. 左右の面には, 中央に上下に, 前後の面には左右にそれぞれ長さaの線を引く. 図ではこれらの線を多少太めに示した.

さて上の面の線の両端U,Vから上方へ長さa/2の線UP, VQを立てる. 右の面の線の上端から右へ長さa/2の線WRを立てる. こらP,Q,Rと元の立方体の頂点A,Bとが正五角形になる.

中央の線は各面にあるから計6本で, そのそれぞれから2枚の屋根のような正五角形が作られるから, 十二面体になる.




一方正二十面体は同じような立方体の内部に作る. これが今度は外接立方体になる. 先ほどの各面の中央の線の両端U,V,W,X,Y,Zの隣り同士を結べばよい. すると三角形の屋根が12枚の他, 立方体の頂点に対応する三角形が8枚あり, 合わせて二十面体になる.

ここからはご用とお急ぎのないお立ち会いに. 私のかような図の描き方をご披露する.

上の図で, 私は手前をx, 右手をy, 上をzと見ることにしている. そして手前を左に寄せ, 上を手前に引き, x軸方向から見た位置に各点を移して描く. 左に寄せる角度をθ, 手前に引く角度をφとすると, 画面の左右方向Xと上下方向Yについては

X=- x sin θ + y cos θ+ 300
Y=(-x cos θ - y sin θ) sin φ+ z cos φ + 400
(300と400は原点を適当に移動)

だから, x, y, zを変換(map)し, X, Yに移動し(moveto), または線を延す(lineto)命令をmm, mlとすると

/phi 15 def /theta 15 def
/map {3 dict begin /z exch def /y exch def /x exch def
x theta sin mul neg y theta cos mul add 300 add
x theta cos mul neg y theta sin mul sub phi sin mul
z phi cos mul add 400 add end} def
/mm {map moveto} def /ml {map lineto} def


基盤の立方体は直ぐ描けて(稜の長さの半分lは多面体ごとに決める)
/ln l neg def
l l ln mm l l l ml l ln l ml l ln ln ml l l ln ml ln l ln ml
ln l l ml ln ln l ml l ln l ml l l l mm ln l l ml stroke

でよい.

正十二面体では
/l 1 5 sqrt add 2 div 60 mul def
/a 5 sqrt 1 sub 2 div l mul def /an a neg def

とした後
a 0 l a add mm %P
l l l ml %A
0 a l add a ml %R
ln l l ml %B
an 0 a l add ml %Q
a 0 l a add ml stroke %P

正二十面体では
/l 1 5 sqrt add 2 div 80 mul def
/a 5 sqrt 1 sub 2 div l mul def /an a neg def

とした後
an 0 l mm %V
a 0 l ml %U
l an 0 ml %Y
l a 0 ml %Z
a 0 l ml %U
0 l a ml %W
l a 0 ml %Z
0 l a mm 0 l an ml stroke %W X

で描くことが出来る.

数学小景には『正十二面体と正二十面体とは, 自然界が産み能わざる結晶で, それは純然たる「脳産物」である. 』の記述がある.

0 件のコメント: