【问题标题】:Drawing Flame Fractals [closed]绘制火焰分形
【发布时间】:2010-11-10 02:21:42
【问题描述】:

我正在寻找有关如何通过谷歌搜索绘制火焰分形的信息,但我找不到太多,要么页面解释了如何使用第三方工具,要么太复杂,我无法掌握。任何人都知道他们如何/为什么工作?或者指出我不太复杂的实现方向?

【问题讨论】:

    标签: fractals


    【解决方案1】:

    我编写了一个投影仪演示文稿,其中涵盖了火焰分形的基础知识:

    https://www.math.upenn.edu/~peal/files/Fractals[2009]Beamer[Eng]-PAXINUM.pdf

    所有图像都是从我的火焰算法的 java 实现中完成的。

    源代码可以在这里找到:

    http://sourceforge.net/projects/flamethyst/

    我相信 pdf http://flam3.com/flame_draves.pdf 连同上面的 java 实现应该会让你走得很远。

    【讨论】:

      【解决方案2】:

      您可以阅读 Scott Draves 的 original paper,其中详细说明了它们的工作原理和方式,以及伪代码实现指南。

      只要你有一些基本的数学知识,它应该相对容易理解(虽然它很长!)。老实说,您可能会忽略其中的大部分内容而只阅读代码,因为大部分文本都是背景信息。

      【讨论】:

      • 请注意,Draves 算法不是唯一的算法,但它可能是最流行的。
      【解决方案3】:

      分形火焰基本上是iterated function system (IFS) 的变体。您有一系列函数,通过它们一遍又一遍地传递一个点。每个函数都是仿射变换和一个或多个变体的组合。

      每次迭代,只选择一个函数(随机),并将结果点累积到缓冲区中,并用作下一次迭代的起点。

      缓冲区在经过后处理和过滤后保存为图像,如flame paper 中所述。

      最好的参考还是原来的实现,flam3

      【讨论】:

        【解决方案4】:

        我认为分形的计算成本太高,无法实时进行。

        如果我 Google "simulating fire in computer graphics" 我会得到一些有趣的东西,表明这不是一个小问题(惊喜)。 SIGGRAPH 是一个您想查看其会议记录的会议。但请注意 - 这在数学上非常具有挑战性。

        【讨论】:

          【解决方案5】:

          看看http://formulas.ultrafractal.com/

          您可以在此处下载“已完成的配方包”
          enr.ucl 文件应该包含火焰分形的公式。

          欲了解更多信息:
          http://www.ultrafractal.com/kb/flamefractals.html

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-03-30
            • 1970-01-01
            • 2017-07-08
            • 2015-03-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多