3

我将开发一个在浏览器上运行并具有许多可视化和模拟工作(静电和电磁可视化、2D 和 3D)的综合教育软件。

哪种语言(处理、javascript 或其他)最适合我的目的?

4

10 回答 10

6

这个问题确实很广泛,但我会根据我的经验来回答。

Javascript 并不是真的要进行数学计算,这可能是快速计算大量 E&M 现象所必需的(特别是如果它们没有表示为封闭形式的解决方案)。它还涉及到您想要在图表中包含多少细节(更多步骤 = 更多计算)。您可能会发现自己需要进行更多优化以弥补性能差异。

我在 Flash 中做了一些天线阵列的可视化(他们有封闭形式的解决方案,只有简单的阵列),结果很好。Javascript 绝对无法与您可能想做的任何 3D 模拟相提并论。

我想知道 Silverlight 是否是一个更好的解决方案,因为您可能会发现 .NET 的数学库比 Actionscript 的要多,这可以为您节省大量自己编写数学的工作(但您可能最终还是会这样做,因为性能问题)。

于 2009-04-24T16:21:17.537 回答
4

正如其他人所建议的那样,在可视化方面,javascript 并不是那么强大的语言。

处理对于您正在尝试做的事情来说是一门非常好的语言,它很容易学习并且是基于 Java 的。数据可视化直接内置于语言以及时间空间中(即及时推进“1 个滴答”并让可视化对此做出反应。)

此外,如果您有兴趣走这条路,我建议您选择可视化数据,这几乎是一个处理入门。

于 2009-04-24T16:34:47.673 回答
2

对于您正在寻找的东西,Flash 可能是目前更常见的应用程序堆栈,但 Silverlight 正准备根据它所包含的强大功能从它们那里获得称号。

于 2009-04-24T16:24:28.900 回答
2

我自己会去 Flex 或 Silverlight

  1. 大量可重用的库
  2. 对多媒体的原生支持
  3. 对图形和动画的原生支持
于 2009-04-24T16:35:40.730 回答
2

我有点晚了,但是你想要的,已经用 JavaScript 实现了,你会发现这非常有用。我建议在 Chrome 下运行它,因为 JS 处理引擎非常快。(您甚至可能想尝试更快的 Chrome 2)

另见: http: //www.chromeexperiments.com/

于 2009-04-24T20:16:59.280 回答
1

我赞同 LFSR Consulting 的观点:Processing 被大量用于教育目的,它是免费的,而且速度快(Java 通常比 Flash 快)并且易于学习,因此您可以获得更快的结果。它支持 3D,您可以处理用于模拟和计算的 Java 库等。它有一个很棒的社区!:-)

JavaScript 对于这种用法有点轻。JavaFX 被炒作了,但它还不是真正的 3D(尽管有人使用 Java3D)而且它仍然有点年轻。
Flash 和 Silverlight:不予置评,在该领域没有太多经验。OpenLazlo 可以是一个替代方案......

于 2009-04-24T16:56:31.337 回答
0

您确实有两种选择 Flash 中的 ActionScript 或 Silverlight 中的 VB.NET/C#/other。

因此,首先您需要确定您将针对哪些平台。

于 2009-04-24T16:17:25.173 回答
0

您可能应该尝试 python。它是用于教育和计算目的的非常好的语言,它有一个相当不错的社区,而且语法也不是那么难。即使它是为命令行设计的,您也可以使用一些外部包为其创建前端 gui,它还提供ScipyNumpyMatplotlib等包,用于高级绘图和数据可视化。

于 2013-11-07T01:49:59.943 回答
0

您可以将问题分为两部分,用户交互和显示部分,以及繁重的计算部分。

如果您可以将繁重的计算移至服务器,那么您仍然可以在 javascript 中显示所有内容。

javascript 的一个困难是它是被解释的,你需要自己编写更多的方程,所以会影响性能和开发时间,但它可以在没有任何插件的情况下工作,除非你不想在画布标签。

Flash 和 Silverlight 可能有更好的选择,但是您正在学习新语言并需要插件,具体取决于您要使用的 Flash 版本。

于 2009-04-24T16:30:30.213 回答
0

查看 processing.js、xcode 和 iprocessing!ProcessingJS 非常适合数据可视化,但缺乏交互性。

于 2012-03-03T23:51:56.177 回答