刚开始听到分形这个词,压根不知道是做什么的,感觉也是一种很骇人的技术。自从自己尝试的画几个小图形之后,才有点体会到分形的帅气和有趣。它是一个拥有多种层次结构的整体,整体和部分又具有很强的相似性。它从美学的角度很好的结合了数学几何,是一个很好的艺术代表。有时候不得不感叹数学的强大和美。
就如说;0和1构成了数学,0和1构成了世界。现实生活中的很多图像都差不多是有规律可寻的,用数学语言把这些图形细致入微化为点、线、面,再利用计算机把这些结构化的点、线、面表现为直观的界面图形,产生美学效果。
下面是几个具体的例子:感受一下分形所带来的视觉震撼。
例1.
根据下面公式画出图形
Xn+1 = sin(a*Yn)+c*cos(a*Xn)
Yn+1 = sin(b*Xn)+d*cos(b*Yn)
public void draw1(int n){
g.setColor(color);
double a=1.5f,b=-1.8f,c=1.6f,d=0.9f;
int x =0,y=0;
double x1=0.0,y1=0.0;
for(int k=0 ;k<n;k++){
g.drawLine(x,y,x,y);
double num = Math.sin(a*y1)+ c*Math.cos(a*x1);
double sum = Math.sin(b*x1)+ d*Math.cos(b*y1);
y1=(sum);
x1 = (num);
x = (int)(num*100)+300;
y = (int)(sum*100)+300;
System.out.println(x+" "+y);
}
}
效果图如下所示:
例2.
根据下面公式画出图形
Xn+1 = sin(a*Yn)+c*cos(a*Xn)
Yn+1 = sin(b*Xn)+d*cos(b*Yn)
与例1相同,只不过改变 a,b,c,d的值
public void draw2(int n){
g.setColor(color);
float a=1.7f,b=1.7f,c=0.06f,d=1.2f;
int x =0,y=0;
double x1=0.0,y1=0.0;
for(int k=0 ;k<n;k++){
g.drawLine(x,y,x,y);
double num = Math.sin(a*y1)+ c*Math.cos(a*x1);
double sum = Math.sin(b*x1)+ d*Math.cos(b*y1);
y1=(sum);
x1 = (num);
x = (int)(num*100)+300;
y = (int)(sum*100)+300;
System.out.println(x+" "+y);
}
}
效果图如下:
例3.
根据下面公式画出图形
Xn+1 = sin(a*Xn)-c*sin(b*Yn)
Yn+1 = sin(a*Xn)+d*cos(b*Yn)
public void draw3(int n){
g.setColor(color);
float a=1.40f,b=1.56f,c=1.40f,d=-6.56f;
int x =0,y=0;
double x1=0.0,y1=0.0;
Random ran = new Random();
try{
Thread.sleep(2);
}catch(Exception ef){}
for(int k=0 ;k<10000;k++){
g.setColor(new Color(ran.nextInt(255),ran.nextInt(255),ran.nextInt(255)));
g.drawLine(x,y,x,y);
double num = d*Math.sin(a*x1)-Math.sin(b*y1);
double sum = c*Math.cos(a*x1)+ Math.cos(b*y1);
y1=(sum);
x1 = (num);
x = (int)(num*30)+300;
y = (int)(sum*30)+250;
System.out.println(x+" "+y);
}
}
效果图如下所示:
膜拜别的大神所画的分形图形:
- 大小: 36.9 KB
- 大小: 16.7 KB
- 大小: 52.1 KB
- 大小: 167.1 KB
分享到:
相关推荐
### 分形理论概述 #### 一、分形的基本概念 分形是一种特殊的几何形状,具有非整数维的特性。这种独特的结构使得分形能够以一种复杂但有序的方式填充空间。分形的一个显著特征是自相似性,即它们可以在不同的尺度...
分形统计是一种与传统统计不同的统计方法,它更符合现实世界的复杂性和不确定性。在分形统计中,事物的分布不再局限于传统的正态分布,而是以分形分布呈现,其特点在于自相似性、跳跃性和加法下的稳定性。 自相似性...
**MFC实现分形云层** 分形云层是一种在计算机图形学中广泛使用的技术,用于模拟自然界的云朵形态。MFC(Microsoft Foundation Classes)是微软提供的C++类库,用于构建Windows应用程序。本项目利用MFC实现分形云层...
分形艺术与理论:探索复杂之美 在数学与艺术交汇的奇妙领域中,分形艺术以其独特的魅力吸引了无数研究者和艺术家的目光。分形,这一概念由数学家本华·曼德博在20世纪70年代提出,揭示了自然界中普遍存在的自相似性...
在IT领域,分形是一种非常独特且引人入胜的数学概念,它们具有自相似性和无限细节性。本文将深入探讨如何使用Java编程语言来实现美丽的分形图像。结合提供的标题"Java实现美丽的分形"和描述中的博客链接,我们可以...
python代码,可以实现画数学图形中的分形之雪花,很漂亮,很实用
本分形基础课件是为初学者精心设计的,旨在深入浅出地介绍分形理论,帮助学习者建立起对分形的全面认识,并为后续深入研究打下坚实的理论基础。 首先,我们要理解什么是分形。分形是指在不同尺度上看起来都类似的...
多重分形分析是一种复杂的数据分析方法,主要用于研究具有非线性、非高斯特性和尺度不变性的信号或图像。在标题“多重分形,多重分形谱,matlab”中,我们可以看出本主题关注的是使用MATLAB进行多重分形谱的计算。...
曼德勃罗集是最著名的分形之一,通过迭代复数运算来生成,其边界展现出无尽的细节和复杂性。而朱利亚集则依赖于不同的复数初始值,可以生成各种各样的图案。 分形动画则是分形技术在动态图形中的应用。通过改变分形...
这个项目不仅可以帮助学习者深入理解分形几何的美,也能锻炼其编程技巧,特别是图形用户界面设计和图形绘制方面的技能。同时,这也是一个很好的课程设计实例,能够综合运用计算机图形学、数学和编程等多个领域的知识...
《Higuchi算法在声发射分形维数计算中的应用》 分形,这一概念源自数学,是指在不同尺度上具有相同或相似结构的几何形态,它揭示了自然界中复杂结构的内在规律。Higuchi算法是计算一维时间序列分形维数的一种有效...
多重分形是数学和物理领域中的一个重要概念,它在复杂系统的研究中扮演着核心角色。多重分形理论扩展了单一分形维度的概念,允许我们更深入地理解和描述那些具有多种尺度特征的复杂对象。在本压缩包中,包含了用于...
第1章主要介绍分形几何的基本概念和性质,以及分形之父Mandelbrot的生平和分形理论的创立过程。第2章详细介绍了分形维数的基本概念和计算方法。第3章介绍了分形图形的IL-系统生成法。第4章介绍了分形图形的IFS生成法...
科赫曲线是由瑞典数学家Helge von Koch于1904年提出的,它通过将线段分成三等份,然后在中间三分之一部分添加一个等边三角形,反复应用这个规则,最终得到一个无限复杂、自相似的形状。 描述虽然为空,但我们可以...
分形几何是一种在数学、计算机科学以及艺术领域中广泛应用的理论,它研究的是那些具有自相似性质的复杂形状。在MATLAB中,分形可以通过编程实现,为科学家和工程师提供了强大的工具来模拟自然现象和进行数据可视化。...
分形,一种自然界中普遍存在的几何形态,以其复杂的自相似性与无穷的细节吸引着科学家和艺术家的目光。在计算机科学领域,分形理论被广泛应用于图像处理、图形生成、数据压缩等多个方面。本资料包中包含了丰富的分形...
分形插值是一种在计算机科学和数学领域中用于数据拟合和插值的高级技术,特别是在处理不规则或复杂的数据集时。它基于分形理论,即利用分形几何的特性来构建连续函数,使该函数能够精确地通过离散的数据点。在MATLAB...
在Python编程语言中,我们可以利用turtle模块来创建各种图形,包括复杂的艺术作品,如分形树。分形是一种自相似的几何形状,在自然界中广泛存在,比如树叶、山脉和云朵。分形树就是一种利用分形理论绘制的树形图案,...
6. **动画制作**:一些高级的分形软件还支持创建分形动画,通过连续改变参数或视角,展示分形随时间变化的动态美。 《Uf5.exe》可能是一个分形软件的执行文件,但没有详细信息,我们无法确定它的具体功能和特性。...