什么编程语言和3D图形API很好地配对进行物理实验?

时间:2012-02-14 22:15:19

标签: java opengl physics simulation modeling

我正在开始一项研究项目,需要确定一种编程语言和3D图形API,我将在分子细胞生物学领域创建一个环境,在那里我将模拟大量的计算机实验。实验将在离散时间内完成,并将包含复杂的物理引擎。漂亮的图形并不重要。

过去几周我一直在研究不同的选项,并且在开始实施之前想要第二个意见。

由于灵活性,可扩展性,库/依赖性组织(我爱上了Maven)以及OOP语言的其他好处,目前我决定使用Java作为语言。这个项目将继续增长,复杂性将继续增加,所以这对我来说是一个很大的因素。我已经研究过使用Python和Matlab,因为许多人在模拟中使用这些语言,但缺乏可维护性和可伸缩性一直让我回到Java。我使用Matlab或Python阅读的大多数项目也很小和/或原型,所以这对他们来说不是问题。我过滤掉了Python和Matlab,因为它们主要是动态语言,不能像C ++或Java一样扩展。我是一个Java人,所以这就是为什么我更倾向于Java而不是C ++。我想更多地关注算法而不是使用C ++时所需的内存管理和库依赖性,但是使用C ++的额外速度是一个优势。

至于3D图形我已经决定使用OpenGL(如果用Java完成将使用JOGL),因为它是如此低级别,我将拥有完全控制,大型文档和社区。我已经研究过JMonkeyEngine,但我觉得它有点臃肿,因为它是一个游戏库。我也有一些通过Python或C ++使用Maya的建议,但我没有看到使用Maya有什么优势。我的模型将充满活力,最初的“世界”几乎是空的,更不用说我不关心外观。还有使用物理引擎的问题,这是Maya最初向我建议的部分原因。由于我的模型所涉及的物理学的复杂性,我害怕使用现有的物理引擎,我不会像我刚刚实现它们一样控制自己。

总的来说,对于我的应用程序来说,带有JOGL的Java听起来像是一条坚实的前进道路?我想,如果需要的话,我可以在不久的将来转换到C ++ / OpenGL,我认为这不是一项太大的任务。这是我将要创建的第一个模拟环境,我是否遗漏或遗漏了任何其他考虑因素? 任何想法,反馈,意见或任何其他建议将不胜感激。

谢谢, 威尔

0 个答案:

没有答案