2009-04-23 38 views
1

我已经被分配了使用java3D(粒子等)模拟宇宙开始的任务,并且必须由5个不同的部分组成......每个最小长度为15秒。阶段像粒子汤阶段 - 基本上5个可区分的可视化。它不一定非常复杂,只需要通过设定的程序行为来移动。Java3D模拟任务

除了建立一个依赖于插值器的简单集市场地之外,我还没有用java3D做过很多工作。

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

我想知道如何才能最好的建立这种模拟。使用PositionInterpolator是否适合移动粒子并检测碰撞?还是有更好的方法来实现我在找的东西?

到目前为止,我开始有些粒子模型 - 简单地不同的大小和颜色的球体和简单的宇宙中定位他们随机带有PositionInterpolator应用随机的方向,对他们使用的Transform3D来设置旋转。

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

+0

因为这是一项家庭作业,为什么不解释你的一些选择是什么,优点和缺点,它不会觉得我们正在为你做功课。只是我的想法。 – 2009-04-23 17:15:37

+0

问题是玛拉基可能不知道有哪些选项可供选择。我们不必参与苏格拉底式的讨论,也不需要做他的任务来指导他正确的方向。 – 2009-04-23 17:20:40

回答

2

我怎么能够保持不同 阶段之间的时间线和开关?

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

这是state pattern。这种方法的一个优点是你可以编写每个阶段,因为它拥有迷你程序,因此可以针对你需要的特定可视化对它们进行优化。

至于3D问题,它看起来像你在正确的轨道。如果没有为你做功课就很难回答。通过将应用程序分解为状态,您可以解决每个部分的问题,而不会影响其他部分的工作。唯一需要传递的是3D绘图表面的句柄。