问题标签 [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.
complex-numbers - 没有复数库的平滑着色曼德布罗集
我用 C# 编写了一个基本的 Mandelbrot 浏览器,但我有那些可怕的色带,而且都是灰度的。
我有平滑着色的方程:mu = N + 1 - log (log |Z(N)|) / log 2
其中 N 是转义计数,|Z(N)| 是值转义后复数的模数,这是我不确定的值。
我的代码基于维基百科页面上给出的伪代码:http ://en.wikipedia.org/wiki/Mandelbrot_set#For_programmers
复数由实数值 x 和 y 表示,使用这种方法,我将如何计算 |Z(N)| 的值 ?
java - Mandelbrot 刷新速度很慢,有什么办法让它更快?
我最近一直在研究分形生成器,并且一直在专门研究 Mandelbrot 集。不幸的是,缩放和移动似乎非常低效,需要很长时间才能刷新。每次缩放时我都会生成它,我知道这可能不是最有效的方法,而且我似乎找不到使用我理解的另一种方法的代码。这些是我使用的以下方法,第一个是初始生成,第二个是刷新方法。
java - java mandelbrot set 移动错误
所以我一直在尝试用java编写mandelbrot集,我知道代码不是很优化,但我刚刚开始这样做。
这个想法是,当我单击一个像素时,它将将该像素放在中心(代表某个复数)并计算它周围的集合。这在开始时有效,但如果我放大它会开始表现得很奇怪。我猜这可能是我的 midX、midY 或显示功能很奇怪,但我已经看了很长时间了,无法弄清楚,希望能得到一些帮助。
java - Java 中的 Mandelbrot 设置无法正确计算
我对 Java 还是比较陌生。我一直在研究一个显示曼德布罗集的程序。我当前的代码生成了一个接近的图像,但不完全是 mandelbrot 集。这是我的生成代码:
我的 netbeans 项目可以从这里下载。
这是当前输出的屏幕截图:
c - some mandelbrot drawing routine from c to sse2
I want to rewrite such simple routine to SSE2 code, (preferably in nasm) and I am not totally sure how to do it, two things not clear (how to express calculations (inner loop and those from outer loop too) and how to call c code function "SetPixelInDibInt(i ,j, palette[n]);" from under staticaly linked asm code
could someone help, I would like not to see other code implementations but just nasm-sse translation of those above - it would be most helpfull in my case - could someone help with that?
opencl - MandelBrot 设置使用 openCL
尝试使用与我在使用 TBB(线程构建块)运行时使用的代码(某种)相同的代码。
我对 OpenCL 没有太多经验,但我认为大部分主要代码都是正确的。我相信错误在.cl
文件中,它在那里进行数学运算。
这是我在 TBB 中的 mandelbrot 代码:
这是我在 OpenCL 中的代码
任何帮助将不胜感激。
c++ - Mandelbrot的每个像素计算如何划分到不同的节点?
我的问题是我应该使用什么数据结构将工作分配给每个线程并从中获取计算值。我想到的第一件事是使用包含 x、y 和 iterate_value 的结构填充向量 [0] .. 向量 [63999](对于 800x800 像素)。将这些向量传递给每个节点->然后将给定向量进一步划分给每个核心(Os-thread)->然后将给定向量进一步划分给每个线程。有没有其他可能的方式来发送和接收这些值?并且如果我以向量方式执行此操作,我应该通过值传递向量还是通过引用传递向量,在这种情况下哪个会更好?
c - 改进我的 Mandelbrot 集代码
我在 C 中有以下 Mandelbrot 集代码。我正在计算并为最终的分形图像创建一个 .ppm 文件。关键是我的分形图像是颠倒的,这意味着它旋转了 90 度。您可以通过执行我的代码来检查它:./mandel > test.ppm
另一方面,我也想改变颜色。我想实现这个分形图像:
我的最后一个问题是我的代码没有检查我的代码的运行时间。我也有这部分的代码,但是当代码执行完成时,它不会打印运行时间。如果有人可以对我的代码进行适当的更改并帮助我实现这个分形图像,并显示经过的时间,我会很高兴。
c - 需要更正我的 OpenMP Mandelbrot 集代码
我在 OpenMP 中有以下 Mandelbrot 集代码。我的 C 代码工作得很好,它产生的图片很完美。但是使用 OpenMP,它可以正确编译和运行,但不幸的是我无法打开输出的 .ppm 文件,只是 Gimp 无法读取它。
c++ - Mandelbrot 集不会使用 pthread 加速
所以,我正在编写一个程序来使用 pthread 计算 Mandelbrot 集。
这是线程函数:
这Comp
是一类复数,z.next
意味着计算下一次 Mandelbrot 迭代。
我设置了一对clock_t
之前pthread_create
和之后pthread_join
。
Mandelbrot 集的结果是正确的,但是,尽管我将线程数从 1 增加到 8,但计算时间始终相同。
因为在"enter"
一秒钟前同时打印出pthread_join
,我相信线程是并行执行的.
我想问题可能是 中存在线程安全函数partial_compute
,但我找不到。(我尝试用float
代替类来表示复数)
我在这里犯了什么错误吗?感谢您的帮助。
更新:
抱歉信息不完整。
z.length()
表示复数 z 的平方。
这就是我拆分任务的方式。x_length
和y_length
表示屏幕的宽度和高度。
我将屏幕按宽度分成 n 部分,并将范围发送到线程进行计算。