`
海王子1994
  • 浏览: 45225 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

探索分形,创造美!

 
阅读更多

      何为分形,简单来说,它就是一种具有自相似特性的现象、图象或者物理过程。虽然定义简单易懂,就是自己包含许许多多相识的部分,但正如黄金分割比0.618一样,它能产生大量令人叹为观止的图案。


  
 

常见的分形例子有:谢尔宾斯基三角形和地毯、门格海绵、龙形曲线、空间填充曲线和科赫曲线等等。
 
        
 

大家可以上网轻松地找到。而制作分形也不是件难事,通过PS,Matlab或者Java等软件我们可以试着设计自己独属的分形,作为一种标志。

 

下面就附上一段制作简单分形的代码,数学公式来源于网上。

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.util.Random;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Ls {

	double x = 0, y = 0;
	Random random = new Random();

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		Ls py = new Ls();
		py.init();
		
	}
    //初始化界面
	public void init() {
		JFrame jf = new JFrame();
		jf.setSize(800, 800);
		jf.setTitle("分形");
		jf.setDefaultCloseOperation(3);
		jf.setResizable(false);
		// jf.setBackground(Color.BLACK);

		jf.setVisible(true);
		Graphics g = jf.getGraphics();
		draw(g);
		draw2(g);

	}

	public void draw(Graphics g) {
		Graphics2D g2 = (Graphics2D) g;

		// 使用循环计算出每次迭代值,并完成绘制
		for (int i = 0; i < 10000; i++) {
			double a = -1.7, b = -2.5, c = -2, d = -2;
			x = d * Math.sin(a * x * Math.PI) - Math.cos(b * y * Math.PI);
			y = c * Math.cos(a * x * Math.PI) + Math.sin(b * y * Math.PI);

			int m = (int) ((d * Math.sin(a * x * Math.PI) - Math.cos(b * y
					* Math.PI)) * 100 + 400);
			int n = (int) ((c * Math.cos(a * x * Math.PI) + Math.sin(b * y
					* Math.PI)) * 100 + 350);
			// 给每个点上颜色,并绘制
			// g2.setColor(new
			// Color(random.nextInt(250)+5,random.nextInt(250)+5,random.nextInt(250)+5));
			g2.setColor(new Color(150, i % 255, i % 255));
			// 画出这个点
			// g.drawLine(m, n, m, n);
			// g.drawOval(m, n, 5, 5);
			// g.drawRect(m, n, 3, 3);
			// g.draw3DRect(m, n,5, 5, false);
			// g2.fill3DRect(m, n, 2, 2, true);
			g2.fillRect(m + 1, n + 1, 3, 3);

		}
	}

	public void draw2(Graphics g) {
		Graphics2D g2d = (Graphics2D) g;
		double a = 1.40, b = 1.56, c = 1.40, d = -6.56;
		//循环改变像素点颜色
		for (int i = 0; i < 10000; i++) {
			for (int j = 0; j < 80; j++) {
				Color color = new Color(j++, j * 2, j * 3);
				g.setColor(color);
			}
            //数学公式
			double x1 = d * Math.sin(a * x) - Math.sin(b * y);
			double y1 = c * Math.cos(a * x) + Math.cos(b * y);
			int x2 = (int) (x1 * 50) + 400;
			int y2 = (int) (y1 * 50) + 350;
			
			//g.drawLine(x2, y2, x2, y2);
			g.drawOval(x2, y2, 2, 2);
			//改变坐标
			x = x1;
			y = y1;
		}
	
	}
	
	
}

 

 

编写分形图案的程序,重在递归这一思想。通过递归,我们可以容易重复相似的部分,同时也简化了代码。

现在,我们就可以通过分形,来创造属于我们眼中的美啦!!!

  • 大小: 28.1 KB
  • 大小: 39.5 KB
  • 大小: 136.3 KB
  • 大小: 6.8 KB
  • 大小: 8.4 KB
2
0
分享到:
评论

相关推荐

    分形艺术之 论文 分形论文

    分形艺术与理论:探索复杂之美 在数学与艺术交汇的奇妙领域中,分形艺术以其独特的...以上参考资料提供了深入理解和探索分形艺术与理论的宝贵资源,对于希望进一步研究该领域的学者和爱好者来说,是非常有价值的读物。

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

    它不仅仅是一个普通的图形生成器,而是通过Java Swing技术构建的一个交互式平台,提供了丰富的功能和选项,使得用户可以深入探索分形的无限可能。Java Swing作为Java GUI开发的重要库,为这款软件提供了跨平台兼容性...

    分形基础课件--分形基础

    此外,分形还被广泛应用于艺术创作和图像处理中,创造出独特而美丽的视觉效果。 课程还会涉及一些高级主题,如分形布朗运动、分形统计和混沌理论。分形布朗运动是随机过程中的一种,与金融市场中的价格变动有密切...

    分形分析小软件 给你美感

    分形分析小软件是一款由中国人开发的用于分形研究的应用程序,它为用户提供了深入理解和探索分形几何的独特工具。分形,源自希腊语“fractus”,意为“断裂”或“不规则”,是一种在不同尺度上具有自相似性的几何...

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

    在分形几何的艺术中,艺术家通过计算机算法、绘画或者雕塑等方式,创造出具有丰富细节和无限可缩放性的图像。这些作品往往展现出令人惊叹的美感,因为它们在放大后仍然保持原有的结构和细节,这种特性被称为“自相似...

    漂亮神秘的分形学图形软件

    本软件"漂亮神秘的分形学图形软件"正是专为探索这一美丽世界而设计的工具。它允许用户通过自定义参数,创造出独一无二的分形图案,从而将数学公式转化为视觉上的艺术作品。 首先,我们要理解什么是分形。分形是由...

    Tierazon 2分形软件

    Tierazon是一款专为创作和探索分形艺术设计的软件,尤其适合Windows XP和Windows 7(32/64位)用户使用。它提供了一种创新的方式,让用户可以通过简单的交互操作,生成复杂而美丽的分形图像。 Tierazon的核心功能...

    分形图像制作器Fractal2(MFC).rar

    Fractal2这样的工具为艺术家和研究人员提供了创作和探索分形形状的途径,使得他们能够创造出令人惊叹的艺术作品,同时也对自然科学中的复杂系统有更深入的理解。 总之,Fractal2是一款基于MFC的分形图像生成软件,...

    分形风暴

    "分形风暴"是一款由Hss在2001年10月1日设计的图形处理软件,专注于创建和探索分形艺术。分形是一种在数学和计算机科学中广泛研究的几何形态,它具有自我相似性和无限细节,常用于艺术、科学可视化以及计算机图形学。...

    分形几何的例子

    分形几何的探索是一个无限深入的过程,它让我们重新审视周围的世界,揭示出隐藏在平凡之下的美丽和秩序。通过深入学习和理解分形,我们可以更好地理解和模拟自然界的复杂现象,同时也为科学、技术乃至艺术创作带来了...

    分形3 12星体的分形

    总的来说,"分形3 12星体的分形"是一款能够展示三维分形美学的软件,用户不仅可以欣赏到各种复杂而美丽的分形图案,还能通过互动操作深入探索分形世界的奇妙之处。对于喜欢数学、计算机图形学或是寻找创新艺术表现...

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

    利用编程语言和特定的软件,如Fractint,人们能够探索和创造分形艺术,同时这些软件还提供了实时编辑和调色板编制功能,极大地促进了分形艺术的发展。 分形在艺术中的应用不仅仅是技术上的,它也引发了关于美学和...

    Apophysis-2.09(分形图制作)

    **Apophysis 2.09:探索分形艺术的免费工具** Apophysis是一款流行的分形图像生成软件,尤其适合那些对计算机图形学、数学和艺术领域有热情的用户。这款工具以其独特的功能和易用性,在分形图制作领域占有一席之地...

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

    ### 艺术分形图像生成方法的研究与应用 #### 引言 分形(Fractal)的概念源自拉丁语...综上所述,分形艺术不仅是一种科学探索,更是一种艺术创新。通过不断深入研究,未来还将在更多领域展现出其独特的魅力和价值。

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

    分形(Fractal)是一种在自然...总的来说,分形算法与程序设计结合Java,不仅展示了数学的美,还让我们有机会通过编程探索和模拟自然界的复杂性。无论是初学者还是经验丰富的开发者,都可以在这个领域找到挑战和乐趣。

    计算机图形学分形图作业自然景物模拟与分形艺术

    通过算法和计算,艺术家能够探索和展现数学美。 7. **编程实践**:学习这部分内容通常会涉及到编程实践,比如使用Python、Java或C++等语言实现分形算法,绘制分形图,以及模拟自然景物。 在这个大作业中,学生可能...

    Chaoscope(3D分形图渲染软件)v0.3.1官方免费安装版

    3. **参数调整**:每个分形算法都有一系列可调参数,如迭代次数、颜色映射、缩放比例等,用户可以通过细致调整这些参数,探索分形世界的深邃之美。 4. **实时预览**:Chaoscope 支持实时预览功能,用户在调整参数的...

    浮舟分形仿真系统 含源码

    4. 教育教学:作为教学工具,帮助学生理解和探索分形几何的奇妙世界。 总结,浮舟分形仿真系统通过源码展示了分形几何的生成过程,为学习者提供了深入研究和实践的平台。无论是对科学原理的探索,还是在艺术创新上...

    分形与混沌\分形制图软件和程序

    分形与混沌是数学、物理学和计算机科学领域中极具...总的来说,分形与混沌的研究为我们提供了一种新的视角来看待世界,而分形制图软件和程序则为我们打开了通向这一神秘领域的窗口,让我们得以窥见自然界的深邃之美。

Global site tag (gtag.js) - Google Analytics