■高次元の正多面体(その10)
高次元の図形については見て考えることができないので,2次元・3次元から類推して考えることになります.ところが,高次元の場合,奇妙なことが起こるので類推があてになりません.高次元の世界は,われわれが3次元空間でイメージするものとは大きく異なっているのです.
さて,今回のコラムでは,n次元双対立方体とn次元正単体を2次元平面に投影した際の混雑した稜線の中から輪郭線だけを抽出する方法について解説していきたい.
===================================
【1】輪郭線処理
a)n次元立方体(正2n胞体)は,
頂点数: 2^n,
稜数: 2^(n-1)n,
四角形数:2^(n-3)n(n−1)
から成っていて,各頂点のまわりにはn本の稜,n(n−1)/2個の正方形が集まっている.また,各稜のまわりにはn−1個の正方形が集まっている.
b)1つの稜のまわりの正方形面上で,いま描こうとしている稜に平行なn−1本の線を求める.
c)これらn本の平行線をそれぞれ2次元平面に投影した際の直線を含む3次元空間内の平面の,稜の始点(あるいは終点)におけるz値を求める.
d)n本の線のなかで,稜のz値が最大値,最小値の場合だけを表示するようにすれば,輪郭線だけを表示することができる.
===================================
n次元双対立方体では
頂点数: 2n,
稜数: 2n(n−1),
三角形数:2n(n−1)^2/3
であるから,各頂点からは2(n−1)本の稜がでる.各頂点のまわりには(n−1)^2個の三角形,また,各稜のまわりにはn−1個の三角形が集まっている.
n次元正単体の場合,
頂点数: n+1,
稜数: (n+1)n/2,
三角形数:n(n^2−1)/6
である.すなわち,各頂点からはn本の稜がでる.各頂点のまわりにはn(n−1)/2個の三角形,また,各稜のまわりにはn−1個の三角形が集まっている.
これらの情報のうち,輪郭線処理にとって本質的なのはどれだろうか? いずれの場合も,各稜のまわりにはn−1個の面が集まっていることが共通しているので,当初は
b)1つの稜のまわりの(n−1)面上で,いま描こうとしている稜に平行なn−1本の線を求める.
に引き続き,c),d)を実行すれば輪郭線だけを描くことができるはずであると思われた.
ところが,それではうまく輪郭線を処理することができなかった.ちょっと考えればわかることなのだが,輪郭線処理にとっては,辺の周りに何面集まっているかではなく,頂点から何本の稜がでるかという点が本質的なのである.
そこで,結論を述べると,
b)各頂点から出るk本の稜上の点を始点として,いま描こうとしている稜に平行なk−1本の線を求める.
と変更すればよいことがわかった.
===================================