问题标签 [mandelbrot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
591 浏览

artificial-intelligence - Mandelbrot 集的遗传编程

我正在阅读这本引人入胜的书中的一章,内容是关于使用遗传编程交互式进化图像。大多数函数集由简单的算术和三角函数组成(真正操作并返回图像)。这些函数构成了对我们的图像进行编码的解析树的内部节点。树的叶子或终端值是随机数和 x,y 坐标。

有一节关于将复平面的迭代函数添加到函数集:

假设遗传学将一个特定的 Mandelbrot 集作为节点插入到浓密的树的某处。该函数需要两个参数:mandel(cReal, cImag),将它们视为复平面中的实坐标和虚坐标。如果基因组恰好提供了像素坐标 (x,y),并且 mandel() 是根节点,那么您将得到熟悉的 Mset。但是很可能 cReal 和 cImag 本身就是整个函数分支的结果,许多坐标 x,y 的实例散布在叶子之间。进入迭代循环,绕一圈,最后用一些距离 Mset 吸引子的距离来衡量,比如迭代次数。

我的问题是如何将 Mandelbrot 集渲染器作为一个函数,将复平面上点的实坐标和虚坐标作为参数并返回 Mandelbrot 集的渲染?

0 投票
1 回答
2322 浏览

php - 分形解释

一段时间以来,我一直对分形、它们背后的数学以及它们可以产生的视觉效果很感兴趣。

我只是无法真正弄清楚如何将数学公式映射到绘制图片的一段代码。
给定 mandelbrot 集的这个公式:Pc(z) = z * z + c
与以下代码相比如何:

代码不完整,为简洁起见仅显示主要迭代部分。

所以问题是:有人可以向我解释一下数学与代码的比较吗?

编辑:为了清楚起见,我找到了几十个解释数学的资源,以及几十个显示代码的资源,但我找不到对两者结合的很好的解释。

0 投票
4 回答
1331 浏览

math - 一些帮助渲染 Mandelbrot 集

我得到了一些关于 Mandelbrot 集的分形可视化的工作。

我不是在寻找一个完整的解决方案(自然),我在寻求有关复数轨道的帮助。

假设我有一个Complex从复平面上的点派生的给定数字。我现在需要迭代它的轨道序列并根据轨道是否增加数量级来绘制点。

如何收集复数的轨道?非常感谢任何指导(链接等)。测试轨道序列所需的数学函数的任何指针,例如Math.pow()

我正在使用 Java,但这在这里并不是特别重要。

再次感谢,亚历克斯

0 投票
2 回答
10774 浏览

objective-c - 如何缩放曼德布罗集

我已经成功实现了维基百科文章中描述的 mandelbrot 集,但我不知道如何放大特定部分。这是我正在使用的代码:

我的理解是 x0 应该在 -2.5 - 1 范围内,y0 应该在 -1 - 1 范围内,并且减少该数字会放大,但这根本不起作用。如何缩放?

0 投票
2 回答
1295 浏览

file-io - 使用 Gforth 输出文件

作为第一个项目,我一直在编写一个简短的程序来渲染 Mandelbrot 分形。我已经到了尝试将我的结果输出到文件(例如 .bmp 或 .ppm )的地步,但被卡住了。

我还没有真正找到任何我想要做的事情的例子,但是我找到了两个从一个文件复制到另一个文件的代码示例。

Gforth 文档(第 3.27 节)中的示例对我(winXP)不起作用,实际上它们似乎可以打开并创建文件但不能正确写入文件。

这是将一个文件的内容复制到另一个文件的 Gforth 文档示例:

我发现这个例子(http://rosettacode.org/wiki/File_IO#Forth)确实有效。主要问题是我无法隔离写入文件的部分并让它仍然工作。主要的困惑是 >r 似乎没有像我预期的那样消耗 TOS。

如果有人能准确解释 open、create read 和 write 文件字的实际工作原理,我将不胜感激,因为我的调查不断导致一些奇怪的堆栈。

关于 Gforth 示例为何不起作用的任何线索也可能有所帮助。

总之,我想从 Gforth 输出到一个文件,但到目前为止一直被阻挠。任何人都可以提供任何帮助吗?


谢谢Vijay,我想我理解你给出的例子。但是,当我尝试使用这样的东西(我认为是相似的)时:

我得到ok了,但文件中没有任何内容,我犯了错误吗?


问题似乎是由于没有刷新相关缓冲区或显式关闭文件。添加类似的东西

或者

之间write-line;使其工作。因此,如果我按照说明进行操作,Gforth 文档示例将会起作用。

再次感谢Vijay的帮助。

0 投票
2 回答
398 浏览

java - 两个双核处理器系统上的并行性

我编写了一个绘制Mandelbrot图像的 Java 程序。为了让它更有趣,我将计算每个像素颜色的 for 循环分成两半;每一半都将作为一个线程执行,从而使任务并行化。在两核一 CPU 系统上,使用两线程方法的性能与仅使用一个主线程相比几乎是两倍。我的问题是在两个双核处理器系统上,并行化任务是否会在不同处理器之间拆分,而不是仅在一个处理器上使用两个内核?我想前一种情况会比后一种情况慢,这仅仅是因为 2 个 CPU 之间通过主板线进行通信的延迟。

有任何想法吗?

谢谢

0 投票
2 回答
464 浏览

windows-xp - Gforth 并行处理

我已经编写了一个 Forth Mandelbrot 分形绘图仪,并且作为一项技术练习,我想尝试通过一些并行处理来加快它的速度。

目前,如果我可以同时使用我的两个核心(让一个核心完成图像的一半,另一半执行另一半),我会很高兴。

我注意到 Windows XP 将非常乐意管理两个Gforth实例并尝试使用尽可能多的处理器容量,因此运行两个进程可能是一个开始。但是我不确定它们是否可以共享内存,或者它们是否可以同时写入文件(或者如何告诉一个进程从文件开头开始写入 x 个字节)。

总之,如何在 Windows XP 上使用 Gforth 进行并行处理?

0 投票
4 回答
523 浏览

animation - 构建和动画分形

任何人都可以推荐学习和构建分形模式所需的任何软件/书籍吗?我也希望能够为分形图案制作动画。就像winamp的东西。

0 投票
2 回答
2221 浏览

java - Mandelbrot 在 Java 上设置 - 我的算法有问题吗?

我被要求在 Java 上显示 Mandelbrot 集,但我遇到了问题。我和我的老师都对为什么这不能正确运行感到困惑。

我认为它与算法或复杂类有关,因为除了正/负 1 和 0 之外的所有值在两次迭代后都会逃逸到无穷大。

0 投票
2 回答
431 浏览

mandelbrot - 确定给定点(x,y)是否在 mandelbrot 集中的函数

因此,给定任意点 (a + ib),如果函数在 mandelbrot 集中,则该函数将返回 1,如果不在 n 次迭代中,则返回 0。

我在尝试编写此函数时遇到了困难,尤其是对于复数。任何人都可以帮助我或给我一些建议让我开始吗?

到目前为止,我只能想出一种方法来确定一个实数(任何 x,y = 0)是否在 mandelbrot 集中。

编辑:抱歉忘了说我正在用 C 编码,不过我主要是在寻找一些伪代码的想法。