以前还在学校时,有过强烈的目睹高维物体的愿望,也想自己实现一个4维立方体试试,于是先在网络上到处找n维立方体有关的展示视频,在youtobe上发现了不少,一看就是一整天,结果第二天有别的事情,干别的事去了,当时连规律都没有找,想法就此结束。今天突然又有了兴致,于是决定好好分析一番。从最基本开始,点,我们容易推出,0维到n维,超立方体的点数是2的n次方。另外还容易推出:每增加一维,就会诞生新的空间概念,例如,0维只有点的空间概念,1维诞生了线,2维诞生了面,3维诞生了体,4维诞生了4维体.......并且新空间概念的定义都是由上一个概念往新的维度拉伸产生的。而比较难推出的关键一点就是:往新的维度拉伸的时侯,已有的某个概念增加的数量=原来的数量*2+低一级的概念的数量。例如,2维往3维拉伸正方形时,面数量即立方体的面数=正方形的面数*2+正方形线的数量;立方体线数=正方形线数*2+正方形点的数量证明方法,比较严密的方法还想不出,不过很容易想到:往新的维度拉伸时,拉伸的起点和终点使某空间概念的数量拷贝了一份,另外拉伸时,比该空间概念底一级的空间概念拉伸产生了该空间概念。这个说得比较抽象,具体公式可以由下面的图表示出:
有了这些概念后,可以编程出一些内容了~~~由于在OpenGL中体是用面包装起来表示的,因此我们必须找出n维立方体中点、线、面之间的规律,至于更高一层概念的规律可以暂时不理了。先给出一个还不完整类声明:
初始化点、线、面在各个维度立方体中的数量:其中maxDim表示最大维度,一般设一个小于16的值,