如果我想创建一个高质量的图形来说明我通常与 或 一起使用的科学概念或tikz
实验。但是,这是针对静态内容的。这两种工具都非常强大,可以提供高质量的结果。此外,还有一个庞大的示例数据库、非常好的文档以及围绕这些项目的庞大、活跃的用户社区。 pgfplots
pstricks
创建物理动画或模拟的“等效”是什么?
我想从 2d 和 3d 动画和模拟开始,如下页所示(但可能看起来质量更高一些):
- http://jakobvogel.net/legacy/index.php?url=physics/index.xml
- http://www.surendranath.org/Apps.html
- http://www.walter-fendt.de/ph6en/
然后在我知道如何使用它时继续处理更复杂的事情。
那么你会为这项任务推荐什么,为什么?我在 python 方面有一点背景,所以我更喜欢这个,但如果有一个“杀手工具”,那么从头开始学习一门新语言是可以的。以下是要求:
- 免费和开源(FOSS),应该在 linux 上运行
- 它应该是一个很好的界面,可以从上面引用的三个网站重新创建示例(有可能使事情变得更复杂)
- 就像 tikz 一样,在静态内容的情况下,应该有良好的文档和庞大的活跃用户群
- 我需要 2d 和 3d 的东西
关于动画和模拟之间的区别,我认为应该没有区别,因为对于模拟,我必须首先求解微分方程(使用另一个库,例如 numpy/scipy),然后对数据进行动画处理。因此,对于这个问题,可以将“模拟”一词简化为“动画”(或者我是否忽略了一些东西?)。
当然我为此搜索过,但问题是我得到了一个很长的包列表,我不知道从哪里开始。对于静态内容,如上所述很容易,但在这里我看不到,有什么值得详细学习的。
因为起初我有一点 Python 经验,所以我将搜索范围缩小到这种语言。
我发现为此目的制作的唯一工具是我尝试过的 vpython。然而,与我过去使用
tikz
.然后我发现了一些不错的绘图工具,例如
mathplotlib
,mayavi
,bokeh
,chaco
,nodebox
,pyqtgraph
,vispy
,它们可能可以用来制作动画protovis
,visvis
但我不确定这是否是一个好方法,因为它们似乎更适合静态绘图我发现的下一个类别是游戏引擎,例如
pygame
orpylet
、panda3d
orpython-ogre
。我不确定将这样的完整游戏环境用于物理动画是否是个好主意。另一种可能性是直接使用 Python 的 OpenGl 绑定:pyopengl
然后有
blender
最后似乎有很多专门的工具,比如
pymbs
,pyblocksim
或pyOpTools
然而,我可以在网上找到的大多数物理动画或模拟都是 java 小程序。它们中的大多数都是封闭源代码,所以我没有发现它们使用了哪些 java 库。唯一的一个是ejs
具有图形用户界面,但看起来有点过时。
最后我考虑使用html5
这个。