编程分形

时间:2009-01-14 20:56:14

标签: fractals

学习分形程序是否有助于清楚地思考某些编程问题?

11 个答案:

答案 0 :(得分:5)

分形编程将向您介绍递归,迭代,图形编程概念,图像处理和用户界面设计。从数学的角度来看,您将学习几何,复数,Mobius变换(Kleinian分形),仿射变换(IFS分形),根寻找方法(Newton分形)。

除此之外,您还可以获得奖励,看到您的努力会产生奇怪而不寻常的图像。

答案 1 :(得分:2)

从我记忆中你可以很好地处理递归,如果没有别的......也许还有点位图编程......

答案 2 :(得分:2)

如果您是初学者,此类活动肯定会帮助您提高技能。除了编程分形可视化取决于分形类型和你设定的目标可能会给你一些特定的技能或知识,如:

  • 使用图形,图像处理;
  • 理解递归和递归 结构;
  • 优化技术;
  • 低级程序优化;
  • 了解计算机的运作方式 (例如,解决方案的原因 通常有限 - >浮点 精度和误差累积);
  • 并行编程;
  • 一些数学改进和 扩大您的兴趣范围;
  • 了解各种技术 (例如,你可以code Mandelbrot set PixelBender中的{{3}} 真的很快,因为可能会执行 GPU);
  • 了解复杂压缩 算法(例如某种分形) 压缩);
  • 创造力(例如你发明自己的 分形集着色算法);
  • 更多其他:)

这确实是一个多才多艺,有趣的领域,需要探索和学习很多东西。我曾经画了很多分形:)

答案 3 :(得分:1)

Fractals让我思考复数和branch-points。我认为,这是一件好事,是一个意见问题。 : - )

答案 4 :(得分:0)

任何类型的编程经验都很有用。是的,是的。

特别是:

  • 数学问题
  • 基本算法
  • 当然还有分形编程

答案 5 :(得分:0)

它可能会让你练习实施数学公式。

答案 6 :(得分:0)

一些分形是显式递归的良好视觉示例;如果你对这个概念很难,那么它们可能是一个很好的问题。您可以从“乌龟图形”风格的分形路径开始,如希尔伯特曲线,或经典的“雪花”分形。

许多分形生成方法使用重载数字运算(例如,Mandelbrot和Julia集)。数字运算本身当然是一个领域,并且调整你的分形生成器以尽可能快地运行在优化中是一个很好的练习。

答案 7 :(得分:0)

我不认为编程分形会教你什么特别的东西。根据分形,我想它可能会教你一些关于数学或分形的知识。

然而,我确实认为分形作为编程的介绍很有趣,初学者/学生常常对结果着迷,无论是像mandelbrot或julia集更多的图形分形,还是更容易理解的L系统。

当然,如果您是编程新手,那么它也希望能够教会您很多关于编程的知识。如果不出意外,分形很有意思​​。

答案 8 :(得分:0)

当我还是本科生时,我们使用分形绘图来推动我们在parellel处理中的工作。它的计算速度相当快,因此有多个CPU可用来完成工作,可以看到效率明显提高。

因此,除了递归之外,我还说它有助于学习如何平衡并行处理器之间的CPU负载。

......或者如果设备不可用,它可能会教你禅宗般的耐心。 :)

答案 9 :(得分:0)

好主意!我认为编码分形是一个伟大的“练习曲”(学习)大小的程序。它有一些很好的功能:通常你不需要太多的第三方代码,它们可以在相当短的时间内(和复杂性)实现,你最终得到一些好看的东西,这也验证了你的工作

如果你这样做,数学和数值算法的实现也会遇到很多基本问题。

从基本的Mandelbrot集生成器这样简单的东西,你可以像评论者提到的那样扩展到各种各样的问题。尽管如此,你仍然可以了解优化技术(为什么我的发电机这么慢)和数值问题(为什么我不能在这里放大),但是如果你想要一点色彩理论(什么是L)无论如何一个 b *空间)和其他零碎的东西。

玩得开心!

答案 10 :(得分:0)

Fractals是一个非常有趣的话题,即使最简单的实现也能让你学习复数数学,图形生成,缩放图像和一般编程。