0

始终在带有 lwjgl 的 Java/Opengl 中的魔方应用程序的上下文中,我想改进我的绘图 ( http://manuelselva.files.wordpress.com/2010/09/cube.gif ),以便为27 个小立方体中的每一个?最后我想实现的与维基百科立方体图片相同: http://fr.wikipedia.org/wiki/Fichier:Rubik% 27s_cube.svg

最简单的解决方案是什么?

4

3 回答 3

2

最简单的方法可能是在周围的众多 3D 建模程序之一(例如MayaBlender )中绘制一个圆角立方体模型,并在代码中加载该模型的 27 个实例。学习使用其中之一的程序并非易事,因此即使这是大多数游戏等中使用的通用方法,对于如此简单的事情,它可能有点矫枉过正 - 可能需要更长的时间才能弄清楚如何要完成程序中的任何事情,就必须以不同的方式做事。

显而易见的替代方法是在您的代码中生成模型。基本的想法相当简单,尽管把它们放在一起可能有点不简单。您首先选择要用于拐角的半径。当你生成你的面时,你会在它们之间留出足够的空间来适应具有该半径的圆的象限(即,每个面在它们两个相交处的半径处结束)。您将它们与一组遵循圆象限的顶点坐标/法线连接起来——基本上,编写一个小循环,以均匀间隔的角度生成几十个点(左右)。每个点的角度将是法线,正弦/余弦将给出坐标。在拐角处(与边缘相反),您需要在球体上生成点,每个角都有一个球体的一个象限。

于 2010-09-12T17:27:58.667 回答
0

您还可以使用基本立方体并实现细分算法,使每次迭代使用的顶点数加倍。然后创建一个从立方体中心到每个顶点的向量。如果对顶点进行归一化,则会得到一个球体(介于:这是最简单的球体生成算法之一)。但是如果你只改变角向量的长度,你会得到一个圆角立方体。

于 2010-11-21T13:23:54.950 回答
0

一些巧妙的纹理和正确制作的法线贴图大多会在不编辑模型的情况下伪造它的外观。最终渲染将被着色,就好像各个边被圆角一样。

不幸的是,通过这种方法,当从侧面观察时,这种错觉就会分崩离析。

于 2010-09-14T17:03:42.920 回答