【发布时间】:2011-01-05 17:05:12
【问题描述】:
分形对我来说一直是个谜。
分形在各种编程问题领域有哪些实际用途(除了渲染成漂亮的图像)?请不要只列出使用它们的区域。我对特定的算法以及如何将分形与这些算法一起使用来解决实践中的问题感兴趣。请至少给出算法的简短描述。
【问题讨论】:
标签: algorithm math random fractals
分形对我来说一直是个谜。
分形在各种编程问题领域有哪些实际用途(除了渲染成漂亮的图像)?请不要只列出使用它们的区域。我对特定的算法以及如何将分形与这些算法一起使用来解决实践中的问题感兴趣。请至少给出算法的简短描述。
【问题讨论】:
标签: algorithm math random fractals
人们可以使用计算机科学算法来计算黑白图像的分形维数或豪斯多夫维数。 实现起来并不难。
原来这是used in biology and medicine 用于分析细胞样本,例如,分析癌细胞的侵袭性如何,或者疾病的发展程度。细胞通常越健康,维度越高,这意味着您希望癌症样本的分形维度越低。
【讨论】:
用于图像压缩,任何手机,天线芯片设计是最大表面积的分形,纹理生成,山脉生成,理解树木,悬崖,水母,模拟任何有一定程度递归和自我的自然现象不同尺度的相似性。很多科学应用。
【讨论】:
分形理论的另一个用途是分形图像插值。例如,Perfect Resize 7 正在使用分形来调整质量非常好的图像大小。它们很可能使用分区迭代函数系统 (PIFS),假设图像的不同部分彼此自相似。该算法基于搜索图像的自相似部分并描述它们之间的转换。
【讨论】:
沿希尔伯特曲线的误差扩散。
这是一个简单的想法 - 假设您将图像转换为 0-1 黑白位图。将 55% 亮度像素转换为白色会产生 +45% 的误差。在处理下一个像素时,您不会忘记它,而是保留 45% 以考虑在内。假设它的值为 80%。通常它会被转换为白色,但相邻像素太亮,因此考虑到 +45% 的误差,将其转换为黑色(80%-45%=35%),保持 -35% 的误差为传播到下一个像素。
这样 75% 的灰色区域将具有接近 75/25 的白/黑像素比,这很好。但是如果你从左到右处理像素,错误只会在一个方向上传播,这会产生更糟糕的图像。输入空间填充曲线。沿希尔伯特曲线处理像素可以获得误差扩散的良好局部性。更多here,附图。
【讨论】:
Peano 曲线是一种空间填充分形,它允许您使用一维路径均匀地覆盖二维区域(或更高维区域)。如果您在多维数组上执行本地操作,则以空间填充曲线顺序存储和/或访问数组数据可以提高缓存的一致性,适用于所有级别的缓存。
【讨论】:
Fractal image compression。还有更多的应用程序被认为不是编程here。
【讨论】:
绝对是计算机图形学。这不是关于生成美丽的抽象图像,而是真实且不重复的风景。阅读Fractal Landscapes。
Perlin Noise,可能被认为是一个简单的分形,在计算机图形学中无处不在。作者开玩笑说,如果他给它申请专利,他现在就会成为百万富翁。分形也用于animation 和有损image compression。
【讨论】: