以前還在學(xué)校時,有過強烈的目睹高維物體的愿望,也想自己實現(xiàn)一個4維立方體試試,于是先在網(wǎng)絡(luò)上到處找n維立方體有關(guān)的展示視頻,在youtobe上發(fā)現(xiàn)了不少,一看就是一整天,結(jié)果第二天有別的事情,干別的事去了,當(dāng)時連規(guī)律都沒有找,想法就此結(jié)束。今天突然又有了興致,于是決定好好分析一番。從最基本開始,點,我們?nèi)菀淄瞥觯?維到n維,超立方體的點數(shù)是2的n次方。另外還容易推出:每增加一維,就會誕生新的空間概念,例如,0維只有點的空間概念,1維誕生了線,2維誕生了面,3維誕生了體,4維誕生了4維體.......并且新空間概念的定義都是由上一個概念往新的維度拉伸產(chǎn)生的。而比較難推出的關(guān)鍵一點就是:往新的維度拉伸的時侯,已有的某個概念增加的數(shù)量=原來的數(shù)量*2+低一級的概念的數(shù)量。例如,2維往3維拉伸正方形時,面數(shù)量即立方體的面數(shù)=正方形的面數(shù)*2+正方形線的數(shù)量;立方體線數(shù)=正方形線數(shù)*2+正方形點的數(shù)量證明方法,比較嚴密的方法還想不出,不過很容易想到:往新的維度拉伸時,拉伸的起點和終點使某空間概念的數(shù)量拷貝了一份,另外拉伸時,比該空間概念底一級的空間概念拉伸產(chǎn)生了該空間概念。這個說得比較抽象,具體公式可以由下面的圖表示出:
有了這些概念后,可以編程出一些內(nèi)容了~~~由于在OpenGL中體是用面包裝起來表示的,因此我們必須找出n維立方體中點、線、面之間的規(guī)律,至于更高一層概念的規(guī)律可以暫時不理了。先給出一個還不完整類聲明:
初始化點、線、面在各個維度立方體中的數(shù)量:其中maxDim表示最大維度,一般設(shè)一個小于16的值,