Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过数学设置立方体旋转的动画(Java)_Java_Animation_3d - Fatal编程技术网

通过数学设置立方体旋转的动画(Java)

通过数学设置立方体旋转的动画(Java),java,animation,3d,Java,Animation,3d,在一个学校项目中,我制作了一个程序,可以解出一个rubiks立方体(你知道,这个立方体有各种颜色)。但现在我的老师问我是否可以做一些研究,并尝试其中一个侧面的3d动画。但他们希望看到数学方法来做到这一点。我找到了一种使用极坐标移动角点的方法。但我不知道如何在3d中渲染立方体并为其设置动画 所以我的问题是:如何在3d中渲染立方体之类的东西(或者有什么好的库),如何使用这些极坐标来制作动画? 还有关于java 3d渲染的好教程吗 我必须说,我绝对没有3d渲染的经验,所以这可能有点困难。但我真的很想尝

在一个学校项目中,我制作了一个程序,可以解出一个rubiks立方体(你知道,这个立方体有各种颜色)。但现在我的老师问我是否可以做一些研究,并尝试其中一个侧面的3d动画。但他们希望看到数学方法来做到这一点。我找到了一种使用极坐标移动角点的方法。但我不知道如何在3d中渲染立方体并为其设置动画

所以我的问题是:如何在3d中渲染立方体之类的东西(或者有什么好的库),如何使用这些极坐标来制作动画? 还有关于java 3d渲染的好教程吗

我必须说,我绝对没有3d渲染的经验,所以这可能有点困难。但我真的很想尝试一下


提前感谢

根据您是想要采用现有的实现,还是想要从头开始构建3D动画的代码,您可以尝试。这方面的图形编程可能相当复杂;这个问题的完整答案超出了本网站的范围。然而,有几个主要领域

  • 使用矢量数学变换对象(平移、旋转)。这可以直接完成,也可以通过使用4×4矩阵的射影几何来完成。后者更容易连接转换

  • 背面消隐以删除摄影机无法看到的对象面

  • 使用投影和相机模型将三维坐标转换为二维坐标

  • 使用光栅化器将3D矢量信息渲染到屏幕。这可能是一个好的开始


  • 我建议你看看其中一个3D库。一个我用了很多并且发现非常好的是(JME),它是为游戏设计的,但是可以很好地满足你的需要。它还有一个很好的教程,可以让你从基本到非常复杂。实际上,本教程的第一步是旋转彩色立方体

    JME需要大量的3D建模工作。您可以在代码中使用材质、灯光等构建场景,JME将完成所有渲染工作。您甚至可以在一个工具中构建您的模型,例如,这样您甚至不需要在代码中进行建模。但我要警告你,使用建模工具绝对不是胆小鬼的专利