`
fancyCR7
  • 浏览: 7477 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

指尖上的艺术——分形

阅读更多

 先来给大家看两张分形的图片,

 

 (这两张照片由李智文,琚俊提供)

怎么样,很美观吧,这就是分形,许多人第一次听到这个词时都不懂什么意思,我们就先来介绍一下分形的意思吧,所谓概念,无非就是从许多相似的东西中抽离出来的共同点,我们一起来看看下面这个典型的分形,

 

我们可以看出这些图片的局部和整体都有相似的结构,于是我们便可以得出分形的概念:部分与整体以某种形式相似的形,称为分形,有个词很清晰地表达出这个观念,那就是“自相似性”。不要以为分形是什么遥不可及的东西,生活中也有很多分形的事例,比如说树,西兰花,山脉,孔雀的尾巴等等。

 

据曼德勃罗教授自己说fractal(分形)一词是1975年夏天的一个寂静夜晚他在冥思苦想之余偶翻他儿子的拉丁文字典时突然想到的。

曼德勃罗曾经为分形下过两个定义

  1满足下式条件

  Dim(A)>dim(A)

  的集合A称为分形集。其中Dim(A)为集合AHausdoff维数或分维数dim(A)为其拓扑维数。一般说来Dim(A)不是整数而是分数。

2部分与整体以某种形式相似的形称为分形。

最著名的分形莫过于科赫曲线了,如图所示,循环很多次后便会有意想不到的效果。

 

那么我们用java怎么实现分形呢?

在此只介绍两种方法:

1.       迭代

迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。这是网上的定义,其实只要给出个例子大家应该很容易就理解了。

Xn+1=sin(a*Yn)-cos(b*Xn)

Yn+1=sin(c*Xn)-cos(d*Yn)

每一次循环后的x的值都和原来的x的值有关,吧每一次循环后的点画出来就是本篇博文的第一张图片,怎么样,漂亮吧!

有很多的迭代方程可以画出很多美妙的图形,大家可以试试哦。

2.L-System

   对于L-System来说,有三个基本的字符,F+-F表示画一条线段,+-表示转过的角度,比如我们规定初始方向为x轴正方向,+-分别表示顺时针旋转60度,逆时针旋转60度。那么F-F++F-F就是科赫曲线图中的第一张图,先按x轴正方向画一条线段,然后逆时针转向60度,再画一条线段,然后顺时针转向120度,再画一条线段,然后逆时针旋转60度,再画一条线段。

对于L-System来说要有两个基本的要素,母串和演变规则。比如说刚刚的F-F++F-F就是科赫曲线的母串,线条所有的变换都是以这个母串为基本进行的。

而演变规则就是,每一次要把线段变成什么样子,有一个基本的规则,比如说科赫曲线演变规则就是F=F-F++F-F

就这样我们有了母串,然后有了演变规则,然后可以将母串中的F进行替换,循环很多次后得到了新的串F-F++F-F-F-F++F-FF-F++F-F。。。。。。然后我们把它画出来就好了。

 

 

感觉编程就和弹钢琴一样,朗朗可以在琴键上敲击出曼妙动听的音乐,我们可以在键盘敲击出美轮美奂的图形,这就是一种艺术,指尖上的艺术。

  

 

 注:分形,迭代定义来自于360百科

 

  • 大小: 82.5 KB
  • 大小: 38.9 KB
  • 大小: 87.1 KB
  • 大小: 8.6 KB
  • 大小: 8 KB
分享到:
评论

相关推荐

    金属板能阻挡电磁波吗——分形透明金属板.pdf

    【标题】和【描述】提及的是一个关于"金属板对电磁波阻挡效果"的主题,但提供的文件内容实际上涉及的是太阳能光伏领域的发展和技术进步。因此,我会根据提供的标签和部分内容,详细阐述与电磁波、通信技术和专业指导...

    华中科技大学计算机图形学上机实验——分形三角形和三维场景绘制源码

    在华中科技大学的计算机图形学课程中,学生通过上机实验深入理解和掌握相关理论,其中一个实验主题是“分形三角形和三维场景绘制”。这个实验旨在让学生了解并实践分形几何和3D场景构建的基本原理。 分形三角形是一...

    艺术分形图像生成方法的研究与应用

    随着计算机技术的发展,人们开始尝试利用分形原理来生成艺术图像,由此诞生了一种新的艺术形式——分形艺术。 #### 分形艺术简介 分形艺术不仅能够体现传统美学标准,如平衡、和谐、对称等,更重要的是它能够创造...

    分形艺术(分形故事多 分形图形艺术)

    分形在艺术中的应用不仅仅是技术上的,它也引发了关于美学和认知的新讨论。分形艺术挑战了传统的艺术观念,它既体现了自然界的复杂性和秩序,又展示了数字时代的创新。尽管在中国,分形艺术可能尚未被广泛接受,但它...

    分形几何——数学基础及其应用

    ### 分形几何——数学基础及其应用 #### 一、引言 分形几何是一门研究不规则几何形状的数学分支,这些形状具有自相似性、分数维数等特性。本书《分形几何——数学基础及其应用》(第二版)由英国数学家Kenneth ...

    IQM-Plugin-FFI:FFI——分形碎片指数-开源

    用于研究森林演化的分形分析,混沌、孤子和分形,2016,第 91 卷,310-318。 安装说明:将最新的jar文件复制到本地IQM主应用程序目录下的“Plugins”目录下。 IQM:https://sourceforge.net/projects/iqm/ 此插件的...

    分形艺术((分形几何的艺术))

    例如,Ivan Sutherland的“Sketchpad”和Benoit Mandelbrot的早期计算机图形作品,都是分形艺术在技术上的早期探索。 此外,分形在自然界中的应用广泛,从植物的生长模式、山脉的轮廓、雪花的形状,到海岸线的曲折...

    MATLAB与数学教学——以分形几何为例.pdf

    在现代数学领域,分形几何作为20世纪数学的一个新兴分支,已经得到了广泛的应用。分形几何不仅在科研领域中占有...同时,分形几何的学习也有助于学生认识到数学与自然界、艺术等领域之间的联系,拓宽学生的知识视野。

    分形艺术及分形程序fract

    介绍了分形概念,从科学与艺术相结合的角度尝试分析了分形图形艺术的意义和前景。更为重要的是,作者详细讲述了制作精美分形的技巧,并给出了大量源程序。作者的用意就是推广普及分形艺术,使更多的读者在最短的时间...

    分形艺术之 论文 分形论文

    分形艺术与理论:探索复杂之美 在数学与艺术交汇的奇妙领域中,分形艺术以其独特的魅力吸引了无数研究者和艺术家的目光。分形,这一概念由数学家本华·曼德博在20世纪70年代提出,揭示了自然界中普遍存在的自相似性...

    分形对象——形、机遇和维数.pdf

    分形对象——形、机遇和维数. 分形创始人的力作

    不规则分区分形压缩算法

    最新的图像压缩技术——分形图像处理,资源很难找到的哦,别错过

    分形维数计算的matlab_matlab_分形维数;差分盒维数;功率谱;结构函数_

    本篇文章将深入探讨标题和描述中涉及的知识点——分形维数、差分盒维数计算、功率谱分析以及结构函数。 首先,我们要理解**分形维数**的概念。分形是一种具有自相似性的几何形态,它们在不同尺度上展现出相似的结构...

    分形风暴

    "分形风暴"是一个编程项目,它涉及到计算机图形学中的一个独特领域——分形几何。分形是一种在不同尺度上展示相同结构的几何形态,它们在自然界中无处不在,如雪花、海岸线和云朵等。这个源程序可能是为了生成和探索...

    分形艺术 - 刘华杰

    分形艺术 数学与艺术的结合 刘华杰,《分形艺术》,湖南科学技术出版社1997年。

    神奇的世界-分形5.1(windows).zip

    《神奇的世界-分形5.1》是一款专为Windows用户设计的软件,它带你进入一个充满神秘和美感的数学世界——分形世界。分形,这个源自希腊词汇“fractal”的概念,是数学中的一种非均匀自相似结构,它在自然界的很多现象...

    分形算法与程序设计——Java实现

    3. **二维数组或像素操作**:为了在屏幕上显示分形图像,我们需要使用二维数组来存储每个像素的颜色信息,然后将其渲染到图形界面。Java的AWT和Swing库提供了丰富的图形绘制功能,如Graphics2D类可以用来绘制复杂的...

    使得很酷的分形艺术.

    分形艺术是一种结合了数学与视觉美学的独特领域,它利用分形几何的原理来创作出令人惊叹的图像。在这个项目中,我们将深入探讨如何利用C++编程语言来实现分形艺术的生成。以下是一些核心知识点: 1. **分形理论**:...

    book2_1_1_计算物理基础_第二章_分形树_

    在本资源中,我们主要探讨的是计算物理的基础概念,特别是第二章的第一个主题——分形树。分形树是一种数学模型,它在物理学、几何学、生物学等多个领域都有广泛应用。理解分形树的基本原理和实现方法对于深入学习...

    分形算法与程序设计——Visual Basic实现--光盘文件

    分形(Fractal)是一种在数学、几何学和计算机科学中具有广泛应用的复杂形状或结构,它们具有自相似性,即在不同尺度上保持相似的特性。在编程领域,分形算法是通过计算机程序来生成这些图案的关键工具,Visual ...

Global site tag (gtag.js) - Google Analytics