总是在Java/Opengl中使用lwjgl的魔方应用程序的上下文中,我想改进我的绘图(http://manuelselva.files.wordpress.com/2010/09/cube.gif),以便为27个小立方体中的每个立方体都提供圆角边?我想在最后获得的是与维基百科立方体图片相同的图片:http://fr.wikipedia.org/wiki/Fichier:Rubik%27s_cube.svg
做到这一点最简单的解决方案是什么?
发布于 2010-09-13 01:27:59
最简单的方法可能是在众多3D建模程序(如Maya、Blender)中绘制一个圆形立方体的模型,然后在代码中加载该模型的27个实例。学习使用像这样的程序并不容易,所以即使这是大多数游戏中使用的通用方法,对于如此简单的事情,它可能有点夸张--它可能需要更长的时间来弄清楚如何在程序中完成任何事情,而不是必须以不同的方式完成事情。
显而易见的替代方案是在您的代码中生成一个模型。基本的想法是相当简单的,尽管把它们放在一起可能不是那么简单。从拾取要用于角点的半径开始。在生成面时,在它们之间留出足够的空间,以适合具有该半径的圆的象限(即,每个面的末端比它们两个相交处的半径少一个半径)。您可以使用一组遵循圆的象限的顶点坐标/法线将它们连接起来--基本上,编写一个小循环,在等间距的角度上生成几十个点(或更多)。每个点的角度将是法线,而正弦/余弦将给出坐标。在角点(与边相对),需要在球体上生成点,每个角点对应球体的一个象限。
发布于 2010-09-15 01:03:43
一些巧妙的纹理和适当制作的法线贴图将主要伪造它被舍入的外观,而不需要编辑模型。最终渲染将进行着色,就好像各个边是圆角的一样。
不幸的是,使用这种方法,当从侧面观看时,错觉就会瓦解。
发布于 2010-11-21 21:23:55
您还可以使用基本立方体并实现细分算法,该算法在每次迭代时使使用的顶点数量加倍。然后创建一个从立方体中心到每个顶点的向量。如果对顶点进行规格化,就会得到一个球体(between:这是最简单的球体生成算法之一)。但是如果你只改变角的向量的长度,你会得到一个圆角的立方体。
https://stackoverflow.com/questions/3695707
复制相似问题