Java3D模拟作业

标签 java visualization java-3d

我被分配的任务是使用 java3D(粒子等)模拟宇宙的开始,并且必须由 5 个不同的部分组成......每个部分的最小长度为 15 秒。像粒子汤阶段这样的阶段 - 基本上有 5 个可区分的可视化。它不必很复杂,只需按照设定的编程行为移动的球体即可。

除了构建一个依赖插值器的简单 Playground 设施之外,我并没有真正对 java3D 做过太多事情。

我如何能够维持时间线并在不同阶段之间切换?

我想知道如何最好地构建这个模拟。使用 PositionInterpolator 是否适合移动粒子和检测碰撞?或者有更好的方法来实现我正在寻找的东西吗?

到目前为止,我已经开始对一些粒子进行建模 - 不同大小和颜色的简单球体,并将它们随机放置在简单的宇宙中,并使用 PositionInterpolator 对它们应用随机方向,并使用 Transform3D 设置旋转。

任何指导和帮助将不胜感激。

最佳答案

How would i be able to maintain a time line and switch between different stages?

将主应用程序编写为状态机。将每个阶段视为一种状态。完成一个阶段后加载下一个状态。

这是state pattern 。这种方法的一个优点是,您可以将每个阶段编写为它自己的小程序,从而允许您针对您需要的特定可视化来优化它们。

至于 3D 问题,看来您的方向是正确的。如果不给你做功课,很难回答。通过将应用程序分成不同的状态,您可以致力于解决每个部分的问题,而不会影响其他部分。您唯一需要传递的是 3D 绘图表面的句柄。

关于Java3D模拟作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/782706/

相关文章:

java - 帮助调试 Java3d 应用程序中的 GL_VERSION 错误

java-3d - java3d 拾取对象

java - 如何在不破坏其默认实现的情况下为 JPanel 实现 MouseWheelListener?

java - 查看文件是否读取了 Java 中的内容

visualization - 在 ParaView 中将点源重新采样为图像数据

r - 更改回归 TreeMap 中的字体大小

python - Plotly:如何更改散点图散点图的配色方案?

java - 如何在 javadoc 中转义 @ 字符?

java - 尝试使用 Snackbar 时出现 InflateException

java - JPopupMenu.setDefaultLightWeightPopupEnabled(false) 不起作用