■高次元の正多胞体

 
 R^2の正多角形は無限個ある.それに対して,R^3のなかの正多面体は5種類,R^4では6種類,5次以上では正(n+1)胞体(正4面体の拡張),正2n胞体(正6面体の拡張),正2^n胞体(正8面体の拡張)の3種類しか存在しないことが知られている.
 
 すなわち,五次元以上のd次元の場合は,2d個の頂点と2^d個の辺をもつ双対立方体(三次元では正八面体),2^d個の頂点と2d個の辺をもつ立方体,d+1個の頂点とd+1個の辺をもつ正単体(三次元では正四面体)の3つですべての正多面体をつくしているのである.
 
 三次元の場合はこれらの他に2つの正多面体<正十二面体と正二十面体>があり,四次元の場合は他に3つ<正24胞体,正120胞体,正600胞体>あるといったほうがわかりやすいかと思われる.その意味で,3次元・4次元は特殊な次元なのである.→[補]
 
 コラム「ロボットアームとn次元直方体」では,n次元立方体(正2n胞体)を2次元平面上へ投影する方法について紹介した.そして実際に6次元立方体(直方体)を2次元平面上に描いてみると12角形が得られることをみたが,このことはn次元立方体を2次元平面上へ正2n角形を外殻とするように直投影することができることを意味している.3次元立方体であれば,影の形は6角形になるというのである.
 
 今回のコラムでは,遺された2つの正多胞体<n次元の双対立方体と正単体>を2次元平面上へ投影する方法について考えてみたい.
 
===================================
 
【1】双対立方体
 
 n次元立方体は,
  頂点数: 2^n,
  稜数:  2^(n-1)n,
  四角形数:2^(n-3)n(n−1)
からなっている.このうち,頂点は(±1,±1,・・・,±1)であるから,確かに2^n個あり,各頂点からはn本の稜がでるということがわかるだろう.この超立方体の稜の長さは2である.
 
 それに対して,n次元双対立方体では
  頂点数: 2n,
  稜数:  2n(n−1),
  三角形数:2n(n−1)^2/3
であり,各頂点からは2(n−1)本の稜,すなわち,n=3では4本,n=6では10本の稜がでる.
 
 また,n次元双対立方体の各頂点の座標は
  (±1,0,・・・,0)
  (0,±1,・・・,0)
  ・・・・・・・・・・・・
  (0,0,・・・,±1)
で表される.
 
 例えば,6次元双対立方体の頂点が
  (+1, 0, 0, 0, 0, 0)
の場合,10個ある稜の対蹠点の座標は
  ( 0,±1, 0, 0, 0, 0)
  ( 0, 0,±1, 0, 0, 0)
  ( 0, 0, 0,±1, 0, 0)
  ( 0, 0, 0, 0,±1, 0)
  ( 0, 0, 0, 0, 0,±1)
であり,稜の長さは√2である.
 
 もう1個ある頂点
  (−1, 0, 0, 0, 0, 0)
との距離は2であり,これとは結ばれない.すなわち,中心を通るもの以外のすべての対角線を入れればよいことがおわかり頂けるであろう.
 
 以下に掲げる描画例は,6次元楕円に内接する双対立方体を,6次元楕円にに従って伸縮させたものである.頂点の位置は6次元楕円の極に対応している.また,これを描画するためのプログラムは超立方体の場合よりも平易になっている.
 
 
5370 '
5380 ' *** 双対立方体 ***
5390 '
5400 *DUALCUBE:
5410 T=1:' [non-stochastic]
5420 FOR IS=1 TO M:EDGE(IS)=SQR(T*AZ(IS,IS)):NEXT IS
5430 '
5440 FOR IS=1 TO M
5450  FOR KS=1 TO M:S(KS)=0:NEXT KS
5460  S(IS)=1:GOSUB *VERTEX:GXS=GX:GYS=GY
5470  '
5480  FOR JS=1 TO M
5490   IF JS=IS THEN 5560
5500   FOR KS=1 TO M:S(KS)=0:NEXT KS
5510    S(JS)=1:GOSUB *VERTEX:GXE=GX:GYE=GY
5520    LINE(GXS,-GYS)-(GXE,-GYE),7
5530   FOR KS=1 TO M:S(KS)=0:NEXT KS
5540    S(JS)=-1:GOSUB *VERTEX:GXE=GX:GYE=GY
5550    LINE(GXS,-GYS)-(GXE,-GYE),7
5560  NEXT JS
5570  '
5580  FOR KS=1 TO M:S(KS)=0:NEXT KS
5590  S(IS)=-1:GOSUB *VERTEX:GXS=GX:GYS=GY
5600  '
5610  FOR JS=1 TO M
5620   IF JS=IS THEN 5690
5630   FOR KS=1 TO M:S(KS)=0:NEXT KS
5640    S(JS)=1:GOSUB *VERTEX:GXE=GX:GYE=GY
5650    LINE(GXS,-GYS)-(GXE,-GYE),7
5660   FOR KS=1 TO M:S(KS)=0:NEXT KS
5670    S(JS)=-1:GOSUB *VERTEX:GXE=GX:GYE=GY
5680    LINE(GXS,-GYS)-(GXE,-GYE),7
5690  NEXT JS
5700 NEXT IS
5710 RETURN
 
===================================
 
【2】正単体
 
 線分,三角形,四面体(三角錐)はそれぞれ最も簡単な1次元図形,2次元図形,3次元図形であるが,次元数nより1つ多い数の頂点によって作られる高次元図形を単体(シンプレックス)と呼ぶ.線分は一次元単体,三角形は二次元単体,三角錐は三次元単体とも呼ばれる所以である.
 
 n次元正単体の場合,
  頂点数: n+1,
  稜数:  (n+1)n/2,
  三角形数:n(n^2−1)/6
である.すなわち,各頂点からはn本の稜がでて,すべての頂点を結ぶと単体ができあがることになる.
 
 n次元正単体の頂点の座標を
  (1,0,・・・,0)
  (0,1,・・・,0)
  ・・・・・・・・・・・
  (0,0,・・・,1)
としよう.これらの頂点間距離は√2である.
 
 これらの座標が与えられたとき,残りの1点の座標は
  (x,x,・・・,x)
とすることができる.他の頂点との距離は√2であるから,
  (x−1)^2+(n−1)x^2=2
すなわち,
  nx^2−2x−1=0
を満たさなければならないことより,
  x={1±√(1+n)}/n
が得られる.
 
 あるいは同じことであるが,頂点を原点に平行移動させ,n個の頂点の座標を
  V1(0,0,0,・・・,0)
  V2(a,b,b,・・・,b)
  V3(b,a,b,・・・,b)
  ・・・・・・・・・・・・・・・
  Vn+1(b,b,b,・・・,a)
とするn次元単体(a>b>0)を考えることができる.ここで,各辺の長さが1であるとすれば
  a^2+(n−1)b^2=1,2(a−b)^2=1
が成り立つので,これを解いて
  b={√(1+n)−1}/n√2
  a=b+1/√2
を得ることもできるだろう.
 
 以下には,
  x={1−√(1+n)}/n
とした場合の6次元正単体を,対応する6次元楕円に従って収縮・拡張操作を加えて,オーバーラップさせて描いた図を掲載する.
 
 
5720 '
5730 ' *** 正単体 ***
5740 '
5750 *SIMPLEX:
5760 T=1:' [non-stochastic]
5770 FOR IS=1 TO M:EDGE(IS)=SQR(T*AZ(IS,IS)):NEXT IS
5780 '
5790 FOR IS=1 TO M
5800  FOR KS=1 TO M:S(KS)=0:NEXT KS
5810  S(IS)=1:GOSUB *VERTEX:GXS=GX:GYS=GY
5820  '
5830  FOR JS=1 TO M
5840   IF JS=IS THEN 5880
5850   FOR KS=1 TO M:S(KS)=0:NEXT KS
5860    S(JS)=1:GOSUB *VERTEX:GXE=GX:GYE=GY
5870    LINE(GXS,-GYS)-(GXE,-GYE),7
5880  NEXT JS
5890  '
5900  FOR KS=1 TO M:S(KS)=(1-SQR(1+M))/M:NEXT KS
5910   GOSUB *VERTEX:GXE=GX:GYE=GY
5920   LINE(GXS,-GYS)-(GXE,-GYE),7
5930 NEXT IS
5940 RETURN
 
===================================
 
【3】雑感
 
 3次元正多面体は6個,4次元正多胞体が6個,5次元以上では3個あることはどの本にも載っていることなのであるが,2次元平面上に投影した際の影の形が何角形になるかについてはほとんど触れられていない.かくいう小生もこれまでそのような言明を見たことがない.
 
 立方体と正4面体の立体図をフリーハンドで描いてみて欲しい.輪郭はそれぞれ6角形と4角形になる.このことから,n次元立方体の輪郭は2n角形,n次元正単体の輪郭はn+1角形になるものと推察できるであろう.
 
 正8面体の場合は微妙である.立方体の双対であるから6角形になると予想されるが,見取り図を描いみると4角形にしかならないからである.ここで作成したプログラムでは,パラメータを変えることによって,いろいろな方向から6次元双対立方体と6次元正単体を描くことができるから,実際に描いて影の形を検討することができる.
 
 また,その一助となるように「ロボットアームとn次元直方体(その3)」で試みた,2次元平面に投影した際の混雑した稜線の中から輪郭線だけを抽出するプログラムを近々作成しようと考えている.
 
===================================
 
[補]今回のコラムでは,久々に幾何学からテーマを選んだが,いくつかの用語を解説して稿を終えることにしたい.
 
[1]星形正多角形と雪型正多角形
 
 正多角形の辺を延長すると星形の正多角形が得られるが,そのとき,辺が一連になって一つの多角形を作る場合と2つ以上の多角形に分かれる場合がある.前者を星形正多角形,後者を雪型多角形という.正5角形からは星形(ソロモンの星)が,正6角形からは雪型(ダビデの星)が得られる.
 
 ダビデの星はイスラエルの国旗にも使われ,ユダヤ人の象徴とされている.また,ダビデはソロモン王の父であるが「ソロモンの指輪」は名著として定評があるのでご存知の方も多いと思われる.
 
[2]星形正多面体と雪型正多面体
 
 コラム「正多面体は総計15種類ある」では,スポンジ型正多面体にはコクセターの見つけた3種類あることを述べたが,その際,星形正多面体が4種類あることについて言及した.
 
 一方,2つの正4面体を逆向きに抱き合わせた星形8面体「ケプラーの8角星」は,24面すべてが正三角形よりなるものの,星形正多面体には通常加えられず,正多面体からも除外される.
 
 ケプラーの8角星は雪型正多面体(複合正多面体)に分類されるのであるが,複合多面体とは,いくつかの多面体を中心がすべて一致するように重ね合わせたものであって,多面体が同じくらいの大きさならば,互いに交わったり,ある面が他の面を突き抜けたりする.雪型正多面体は全部で5種類あり,ケプラーの「星形8面体」は最も簡単なものである.
 
(問)同じ大きさの正3角形2個のうち,1個を天地逆転させ,もう1個の正3角形に重ねると,星形の外側と内側にそれぞれ6角形ができる.それでは,同じ大きさの正4面体2個を重ねた場合,その外側と内側にはどのような立体ができるだろうか?
 
 この問題はダビデの星の3次元版で,同じ大きさの正4面体2個による屋根瓦状の相貫体にはケプラーの8角星という名前がつけられているのである.最も簡単な複合多面体なので,これが頭の中でイメージできれば答は簡単であるが,勘の働きにくい問題であろう.
 
 正8面体を芯として,このとき,ケプラーの8角星の頂点は立方体の頂点をなすというのが正解である.
 
[3]デルタ多面体
 正3角形ばかりを集めると4面体から20面体まで,18面体以外の8種類すべての偶数多面体ができる.そのうち,正4面体,正8面体,正20面体は正多面体にも分類されるが,それらを含めて全部で8種類あることになる.
 
 同様に,正方形1種類では立方体のみ,正5角形1種類では正12面体のみが得られ,正6角形以上の正多角形ばかりでは凸多面体はできない.結局1種類の正多角形でできる凸多面体は合計10種類である.
 
[4]凸多面体
 4面体は4つの頂点と4つの面から構成されるので,頂点数を加えていうと,4点4面体である.5面体には4角錐(5点5面体)と3角柱(6点5面体)がある.6面体には5点6面体が1種類,6点6面体,7点6面体,8点6面体が2種類ずつの合計7種類ある.以下,7面体には34種類,8面体には257種類,9面体には266種類あるとのことである.
 
[5]4次元正多胞体
 4次元には6種類の正多胞体がある.正8胞体(4次元立方体)のほか,
  正5胞体(4次元正4面体)
  正16胞体(4次元正8面体)
  正24胞体(相当する正多面体はない)
  正120胞体(4次元正12面体)
  正600胞体(4次元正20面体)
である.
 
 単独で空間を充填する平面充填正多角形は3種類(正三角形・正方形・正六角形),空間充填正多面体は1種類(立方体)であるが,4次元空間を1種類の正多胞体で埋めつくす図形は,正8胞体,正16胞体,正24胞体の3種類であり,4次元の最密規則的充填構造は,正24胞体で埋めつくされているときであることが知られている.
 
===================================