编程中分形的实际应用

时间:2010-01-15 21:56:38

标签: algorithm math random fractals

分形对我来说一直是个谜。

各种编程问题域中的分形有哪些实际用途(除了渲染到漂亮的图像之外)?请不要只列出使用它们的区域。我对特定的算法感兴趣,以及如何将分形与这些算法一起用来在实践中解决某些问题。请至少给出算法的简短描述。

8 个答案:

答案 0 :(得分:22)

绝对是计算机图形学。这不是关于生成美丽的抽象图像,而是现实而不是重复的景观。阅读Fractal Landscapes

Perlin Noise,可能被认为是一个简单的分形,用于各地的计算机图形。作者开玩笑说,如果他申请专利,他现在就是百万。分形也用于animation和有损image compression

答案 1 :(得分:10)

Peano曲线是一个空间填充分形,它允许您使用1-D路径均匀地覆盖2-D区域(或更高维度区域)。如果您在多维数组上进行本地操作,则以空间填充曲线顺序存储和/或访问数组数据可以提高缓存一致性,适用于所有级别的缓存。

答案 2 :(得分:3)

分形在财务中用于analyzing股票价格。它们也用于研究复杂系统(复杂性理论)和art

答案 3 :(得分:3)

Fractal image compression。在编程here中,还有一些应用程序被认为不是全部。

答案 4 :(得分:3)

沿希尔伯特曲线的误差扩散。

这是一个简单的想法 - 假设您将图像转换为0-1黑色&白色位图。将55%亮度像素转换为白色会产生+ 45%的误差。在处理下一个像素时,不要忘记它,而是要保留45%。假设它的值是80%。通常它会被转换为白色,但相邻像素太亮,所以考虑到+ 45%的误差,你将其转换为黑色(80%-45%= 35%),保持-35%的误差为传播到下一个像素。

这样,75%的灰色区域将具有接近75/25的白/黑像素比,这是好的。但是,如果您从左到右处理像素,则错误仅在一个方向上传播,从而产生更糟糕的图像。输入空间填充曲线。沿着希尔伯特曲线处理像素获得误差扩展的良好局部性。更多here,带图片。

答案 5 :(得分:0)

分形理论的另一个用途是分形图像插值。例如,Perfect Resize 7正在使用分形来调整质量非常好的图像。它们最有可能使用分区迭代函数系统(PIFS),它假设图像的不同部分彼此自相似。该算法基于搜索图像的自相似部分并描述它们之间的变换。

答案 6 :(得分:0)

用于图像压缩,任何手机,天线芯片设计都是分形,用于最大的表面积,纹理生成,山地生成,理解树木,悬崖,水母,模拟任何有递归和自我的自然现象不同尺度的相似性。很多科学应用。

答案 7 :(得分:0)

可以使用计算机科学算法来计算黑白图像的分形维数 Haussdorff维度。 实施并不困难。

事实证明,这是used in biology and medicine来分析细胞样本,例如,分析癌细胞的侵袭性,或疾病的发展程度。一个细胞通常更健康,尺寸越高,这意味着您希望癌症样本的分形维数较低。