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