2010-09-17 61 views
3

我偶然做这个图在Wolfram Alpha的:如何在代码中重现像这样的scribbly模式?

Graph

你可以编写代码来制作这种模式的一个更大的版本?

你可以制作类似的图案吗?

任何语言的可读代码都很好,但是可以在浏览器中运行的代码是最好的(即JavaScript/Canvas)。如果您使用其他语言编写代码,请添加屏幕截图。

注:

  • 对上述图像输入公式为:精氨酸(的sin(x + IY))= SIN ^( - 1)((SQRT(2)COS(X)的sinh(γ ))/ sqrt(cosh(2 y)-cos(2 x)))(link
  • 您不必使用上述公式。任何产生相似结果的东西都会很酷。但是“逆向工程”Wolfram Alpha将是最好的
  • 方程的两边是相等的(我认为),所以WA应该可能只返回'true'而不是图
  • 该模式可能是舍入错误。
  • 我不知道该模式是通过遍历每个像素还是基于矢量(点和线)生成的。我的猜测是与矢量。
  • 我不知道是什么导致这种类型的模式('舍入错误'是最好的猜测。)
  • IEEE浮点标准并未说明sin或cos等应如何工作,因此trig函数在不同平台和架构。
  • 没有布朗运动地块请

最后,这里是另一个例子可能在你的任务帮助:(link

Graph 2

+0

只有在x的某些范围内保持等号的问题似乎与多值函数有关。如果你拿双方的罪,你的平等无处不在。 – 2010-09-21 00:03:00

回答

3

正如你在任何语言要求外观类似的模式,在这里是Mathematica代码(真的很容易,因为Wolfram Alpha基于Mathematica)

alt text

编辑

这确实是一个舍入的效果:

如果我们设置:

alt text

做图

Plot3D[f[x, y], {x, 7, 9}, {y, -8, -9},WorkingPrecision -> MachinePrecision] 

结果是:

alt text

但是,如果我们情节的精度扩大到30个数字:

Plot3D[f[x, y], {x, 7, 9}, {y, -8, -9},WorkingPrecision -> 30] 

我们得到

alt text

和粗糙度消失(这引起你的杂乱的图案)

顺便说一句,你的f [x,y]是一个非常好的函数:

alt text

所以,如果我设法复制您的公式没有错误(这应该算是一个奇迹),你的等式的两边都仅在X一定周期范围相同,可能是形式的[2 N Pi,(2 n + 1)Pi]

+1

+1和-1:我被诱惑,但认为它太简单,太无益。做得好@belisarius为了大胆地发布这个。 – 2010-09-17 16:21:16

+0

@高性能标记我只是认为OP可能从得知该图是以“ContourPlot [f [x,y] == 0]的形式获益”,因为Wolfram Alpha没有证明......但是。 .. -1 :) – 2010-09-17 16:37:27

+0

不是当我想到的时候:)但它确实有助于澄清事物并确实给出了更好(更大)的模式图像,所以它仍然值得赞赏。 – Qubei 2010-09-17 22:29:57

相关问题