使用画布和javascript的铁杆数学和3d形状

时间:2012-01-07 23:28:54

标签: javascript canvas wolfram-mathematica

我有一位数学家的老朋友。他有自己的数学来压缩他的公式,这非常漂亮。

他在一个名为Mathematica的程序中工作,该程序转换3D形状的公式。

我想知道是否可以使用Canvas和JavaScript获取这些数字?见附件和图。

我自己对此知之甚少。但如果有人能给我一个例子,我会很高兴。

formula

3D-shape

4 个答案:

答案 0 :(得分:5)

既然你提到了Mathematica,我会用它来为各种t值提供更多的例子。我不能用帆布帮你。

这是Mathematica代码:

With[{a = 3, t = 0.7}, 
 RegionPlot3D[
  10^-(t x + y)^10 + 10^-(-t x + y)^10 + 10^-(t y + z)^10 + 
    10^-(-t y + z)^10 + 10^-(t z + x)^10 + 10^-(-t z + x)^10 > 
   5/2, {x, -a, a}, {y, -a, a}, {z, -a, a}, PlotPoints -> 50, 
   Boxed -> False, Axes -> None
 ]]

T = 0.2

Mathematica graphics

T = 0.4

Mathematica graphics

T = 0.7

Mathematica graphics

T = 1

Mathematica graphics

答案 1 :(得分:4)

这绝对有可能。您可以在javascript-surface-plot查看http://www.grvisualisation.50webs.com/javascript_surface_plot.html库和工作示例。它根据数学公式生成3D模型,可以根据需要进行平移和旋转。

如果您查看示例的代码,则需要一个安装功能,您需要更新为您想要的任何公式。只需将您的数学公式转换为javascript即可。

我不确定你有这些模型后你想要做什么,但这个库似乎符合你的要求。搜索html canvas 3d plot也会带来额外的库。

答案 2 :(得分:1)

你真的问了两个问题:

  1. 是否有任何3D画布库: K3D
  2. 是否有javascript的数学库: discussed here
  3. 如果你正在做核心数学方程式(它看起来像你),你最好用MatLab / Maple这样做,然后将它转储到一个文件中,然后使用画布2D库来渲染图像。我有很多3D数据,我就是这么做的。我运行一个Python脚本来计算点,然后将它附加到一个html文件(记住,网页无法从文件中读取数据,所以你必须将数据作为html文件的一部分包含在内)。然后我加载html文件并显示使用EaselJS

    生成图像

答案 3 :(得分:1)

我认为WebGL对此非常理想。它在最新的浏览器中加速了图形处理,可以全3D渲染。

也许有些库可以从开箱即用的功能中进行渲染,但它是一种新技术,所以你可能不得不自己写很多。