问题标签 [fractals]

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 投票
8 回答
38878 浏览

python - 具有不同数量的 For 循环的函数(python)

我的问题很难解释。

我想创建一个包含嵌套 for 循环的函数,
其数量与传递给函数的参数成正比。

这是一个假设的例子:

...将涉及...

另一个例子...

...将涉及...

for 循环 (y) 的变量实际上并未在嵌套代码中使用。

您的第一个想法可能是创建一个 for 循环,其范围是 number 参数的幂...
这行不通,因为产品会很大。我需要有 8 个嵌套 for 循环的实例。
产品对于 for 循环中的范围来说太大了。

还有其他参数需要传递给函数,但我可以自己处理。

这是代码(它创建了雪花分形)

我非常感谢您能给我的任何帮助,
但如果您提出不同的方法(例如递归),
请不要只是粘贴代码;相反,提出了一些可以让我朝着正确方向前进的想法。

(该算法适用于专业数学作业)


规格:
Python 2.7.1
Turtle
IDLE
Windows7

0 投票
2 回答
457 浏览

math - 火焰分形坐标系

我一直在对火焰分形进行一些研究,以准备创建自己的火焰分形发生器。我只有一个问题:火焰分形算法使用什么坐标系?

它是像复数的曼德布罗集,还是实数系统?此外,绘制火焰分形图的最佳范围是多少(即 Mandelbrot 使用 (x-> -2 到 2),(y-> -2i 到 2i))?

关于火焰分形的原创文章(22Mb PDF)

0 投票
1 回答
460 浏览

python - 菱形方形分形的“由内而外”实现问题

我正在研究一个 Python 脚本,该脚本以与通常顺序相反的顺序生成(环绕)菱形方形分形:它不是从外角开始并细分为更小的正方形,而是从任意点开始并递归地向外工作,仅生成最终值所依赖的点。这是我为确定如何处理每个点而编写的函数:

返回的第一个值是一个布尔值,指定该点应该由菱形还是正方形步长生成;第二个值指定步骤的网格大小。它工作得很好,除非 x 或 y 为零——然后返回的步长为零并且脚本循环。但是,如果我将分形平铺成 2x2 网格并通过单击平铺的右下角副本(即远离窗口的零轴)指定点,则整个分形将完美生成。但是我似乎无法通过将瓷砖大小的倍数添加到鼠标坐标或沿着这些线的任何东西来“伪造”这个结果。

有什么建议么?

这是完整的脚本(如果 x 或 y = 0,我通过停止递归来避免无限循环,但它仍然会在缺失点处生成伪影):

0 投票
1 回答
1181 浏览

c# - 为什么我的龙分形不完整

我已经将代码从 javascript 翻译成 c#,可以通过访问http://fractal.qfox.nl/dragon.js的这个优秀演示找到它

我的翻译是为了在点击按钮时只产生一条龙,但我想我在我的版本中遗漏了一些东西。
有关更多信息,请参阅 Wikipedia 文章:Dragon Curve

不完整的龙分形输出: 生病的龙 代码:

0 投票
2 回答
2976 浏览

javascript - Javascript 中的 Julia 集

我在摆弄一些 Mandlebrot 布景,因为我认为它制作的图片很漂亮。我想我可能会尝试解决在 javascript 中绘制一个问题,看看我能做什么。我看了几个算法,即:

http://library.thinkquest.org/26242/full/progs/a2.html

我翻译成这个:

这基本上绘制了一个颜色的盒子。

然后我尝试了这个:

http://en.wikipedia.org/wiki/Mandelbrot_set#Escape_time_algorithm

我翻译成这个:

这会产生一个黑匣子。虽然算法中的措辞让我感到困惑,因为它说 x0 和 y0 缩放是像素的因素,但是在算法之后,它说系数 c = x0 + iy0; 那么,这是否意味着我没有将预定系数传递给函数?

对于大多数这些测试,我使用的是系数 0.25 + 0i,但我尝试了其他产生完全相同结果的测试。

我在这里做错了什么?

0 投票
1 回答
709 浏览

floating-point - 我如何仅使用浮点数和/或整数来表示比浮点​​数更精确的数字

我基于此编写了一个 MandelBrot 着色器:http: //blogs.msdn.com/b/shawnhar/archive/2006/12/11/sixty-fractals-per-second.aspx

我想通过使用比浮点数更精确的东西来扩展我可以放大的数量。我已经在网上阅读了一些东西,例如http://www.bealto.com/mp-mandelbrot_fp128-opencl.html但是,它很难理解并且不完整。

我使用的 GPU 不支持双精度,所以我坚持使用 32 位整数和浮点数(以及长度不超过 4 的浮点数向量/数组)。

我如何以比普通浮点数允许的更精确的方式表示单个浮点数?

我需要支持的操作是x+-和(>>=

我正在使用像素着色器模型 3.0。


我看过Q 数字格式,但是,我遇到的问题是,如果我使用 2 个 32 位整数,我需要一个 64 位临时变量来进行乘法(和除法)。

0 投票
2 回答
808 浏览

terrain - 使用分形布朗运动创建无缝世界地图

我正在使用分形布朗运动创建高度图。然后我根据高度对其进行着色并将其映射到一个球体。我的问题是高度图没有无缝包裹。我使用了 Diamond Square 算法,使用它很容易使事情变得无缝,但我似乎无法弄清楚如何使用 fBm 来做到这一点,而且我似乎很难在网络上找到它的解释。

澄清一下,“无缝”是指当我将它映射到球体时,它会在球体上创建一个无缝映射。

0 投票
1 回答
223 浏览

math - 为一维 LED 排列生成有趣的闪烁模式

我想启动一个具有一组 16 个 LED 的硬件,排列成一个正方形:

虽然我可以解决技术细节(计时器、位掩码等),但我遇到了一个艺术问题。什么是生成对人类观察者有趣的激活模式(随着时间的推移)的好算法?

我不想选择完全随机的模式,但也不想过于预测。欢迎任何建议,尤其是紧凑的生成器算法。

LED 是二进制(开/关)和单色的,但我可以安装不同的单色 LED(红色、绿色、黄色)。

0 投票
1 回答
239 浏览

fractals - L-System - 减少新分支的圆柱半径

我有一个由圆柱体制成的简单 3D L 系统,我目前只是检查最终字符串中的每个符号并执行适当的操作,例如绘制、转动、旋转、推动和弹出。我知道 push 和 pop 非常类似于一个新分支,但是我尝试在调用 push 时更改半径,但这会导致奇怪的结果。

有没有人有正确的方法使新的分支变得比以前的分支更细?

谢谢。

0 投票
1 回答
973 浏览

android - How can I to render a 2D graph/figure using OpenGL on Android?

I'm making a simple fractal viewing app for Android, just for fun. I'm also using it as an oppotunity to learn OpenGL since I've never worked with it before. Using the Android port of the NeHe tutorials as a starting point, my approach is to have one class (FractalModel) which does all the math to create the fractal, and FractalView which does all the rendering.

The difficulty I'm having is in getting the rendering to work. Since I'm essentially plotting a graph of points of different colors where each point should correspond to 1 pixel, I thought I'd handle this by rendering 1x1 rectangles over the entire screen, using the dimensions to calculate the offsets so that there's a 1:1 correspondence between the rectangles and the physical pixels. Since the color of each pixel will be calculated independently, I can re-use the same rendering code to render different parts of the fractal (I want to add panning and zooming later on).

Here is the view class I wrote:

Basically I'm trying to do it the same way as this (the square in lesson 2) but with far more objects. I'm assuming 1 and -1 roughly correspond to screen edges, (I know this isn't totally true, but I don't really understand how to use projection matrices and want to keep this as simple as possible unless there's a good resource out there I can learn from) but I understand that OpenGL's coordinates are separate from real screen coordinates. When I run my code I just get a black screen (it should be green) but LogCat shows the garbage collector working away so I know something is happening. I'm not sure if it's just a bug caused by my just not doing something right, or if it's just REALLY slow. In either case, what should I do differently? I feel like I may be going about this all wrong. I've looked around and most of the tutorials and examples are based on the link above.

Edit: I know I could go about this by generating a texture that fills up the entire screen and just drawing that, though the link I read which mentioned it said it would be slower since you're not supposed to redraw a texture every frame. That said, I only really need to redraw the texture when the perspective changes, so I could write my code to take this into account. The main difficulty I'm having currently is drawing the bitmap, and getting it to display correctly.