1

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

除了构建一个依赖插值器的简单游乐场骑行外,我对 java3D 并没有真正做太多事情。

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

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

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

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

4

1 回答 1

2

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

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

这就是状态模式。这种方法的一个优点是您可以将每个阶段编写为它自己的小程序,从而允许您针对所需的特定可视化对其进行优化。

至于 3D 问题,您似乎走在了正确的轨道上。如果不为您做功课,很难回答。通过将应用程序分成多个状态,您可以解决每个部分的问题,而不会影响其他部分。唯一需要传递的是 3D 绘图表面的句柄。

于 2009-04-23T17:17:05.070 回答