代码之家  ›  专栏  ›  技术社区  ›  Hamza Yerlikaya

绘制火焰分形[闭合]

  •  11
  • Hamza Yerlikaya  · 技术社区  · 15 年前

    我正在寻找关于如何从谷歌搜索中提取火焰碎片的信息,我找不到太多,或者页面解释了如何使用第三方工具,或者对我来说太复杂了。有人知道他们是怎么工作的吗?或者向我指出不是过于复杂的实现的方向?

    5 回复  |  直到 7 年前
        1
  •  9
  •   Per Alexandersson    7 年前

    我写了一篇Beamer演示文稿,介绍了火焰分形的基本知识:

    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
  •  8
  •   Noldorin    15 年前

    你可以阅读 original paper 作者ScottDraves,详细介绍了它们的工作方式和原因,以及伪代码实现指南。

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

        3
  •  3
  •   Algorias    15 年前

    分形火焰基本上是 iterated function system (IFS) . 你有一系列的函数,通过这些函数你可以一次又一次地通过一个点。每个函数都是仿射变换和一个或多个变体的组合。

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

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

    最好的参考仍然是最初的实现, flam3 .

        4
  •  1
  •   duffymo    15 年前

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

    如果我是谷歌 "simulating fire in computer graphics" 我得到了一些有趣的东西,它们表明这不是一个小问题(惊喜)。Siggraph是一个会议,您将要查看其进程。但请注意,这在数学上是非常具有挑战性的。

        5
  •  0
  •   Yvo    15 年前

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

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

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