之前用C语言实现过一些分形,但是代码比较复杂。而对于天生对绘图友好的Processing,及其方便。

在大自然中分形普遍存在,我们用图形模拟,主要是找到一个贴近的函数。

代码

 /**
* Wallpaper
* 微信公众号:维度模态
* 作者:Hewes
*/ size(800, 800); //画布尺寸
background(0); //背景色 //相关参数的设定
//double a = 0.50, b = 2.00, c = 0.00;
//int mag=60;
//double a = 0.4, b = 1, c = 0;
//int mag=100;
double a = 1, b = 4, c = 60;
int mag=1;
//double a = -1, b = -2, c = -3;
//int mag=5;
//double a = -1000, b = 0.1, c = -10;
//int mag=10; double x1=0, y1=0, temp; //涉及变量 for (int i = 0; i < 2550000; i++) {
//壁纸公式:
//xn+1 = yn - sign(xn) | b xn - c |1/2
//yn+1 = a - xn
temp = x1;
x1 = y1 - Math.signum(a * x1) * Math.sqrt(Math.abs(b * x1 - c));
y1 = a - temp; //放大+平移
int m = (int) (x1 * mag + width/2);
int n = (int) (y1 * mag + height/2);
//笔触颜色设置
stroke(255, i/10000, i/10000);
//stroke(255-i/10000,255-i/10000, 0);
point(m, n);
}

调节参数会有看起来完全不同的结果:

double a = 1, b = 4, c = 60;
int mag=1;

double a = –1000, b = 0.1, c = –10;
int mag=10;

double a = 0.4, b = 1, c = 0;
int mag=100;

参考链接:http://iprocessing.cn/2017/08/10/第四期-processing分形之一-wallpaper/

Processing分形之一——Wallpaper的更多相关文章

  1. SurfaceView 绘制分形图

    之前一直做的是应用类,这次抽时间,参考网上资料实践了下SurfaceView.目标是在页面上画一个科赫曲线的分形图. 代码如下: package com.example.fredric.demo02; ...

  2. OLTP(on-line transaction processing)与OLAP(On-Line Analytical Processing)

    OLTP与OLAP的介绍 数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing).联机分析处理OLAP(On-Line Analytical ...

  3. 新书到手 TRANSACTION PROCESSING:CONCEPTS AND TECHNIQUES

    新书到手 TRANSACTION PROCESSING:CONCEPTS AND TECHNIQUES Jim Gray大神的著作 本文版权归作者所有,未经作者同意不得转载.

  4. Report processing of Microsoft Dynamic AX

    Report processing of Microsoft Dynamic AX 版权声明:本文为博主原创文章,未经博主允许不得转载. The implementation of a general ...

  5. ANNOTATION PROCESSING 101 by Hannes Dorfmann — 10 Jan 2015

    原文地址:http://hannesdorfmann.com/annotation-processing/annotationprocessing101 In this blog entry I wo ...

  6. ORA-01078: failure in processing system parameters & LRM-00109: could not open parameter file

    安装了Oracle 12C后,启动数据库的过程中出现如下错误 SQL> startup ORA-01078: failure in processing system parameters LR ...

  7. 分形之概率学下的green tree

         今天做的是分形之随机概率,可以和以前做的那个抛色子的做法非常相似,抛色子是用随机点数控制图形,今天做的树叶图形只是用概率的做法去控制图形而已,做法是如出一辙的: //图形界面 package ...

  8. Processing基础之绘画

    图形 //在(x, y)绘制点 point(x, y); //(x1, y1)到(x2, y2)的一条线 line(x1, y1, x2, y2); rect(x, y, weight, height ...

  9. 【目录】processing

    Processing 小代码 小代码2 小代码3 小代码4 小代码5

随机推荐

  1. 【异步编程】Part2:掌控SynchronizationContext避免deadlock

    引言: 多线程编程/异步编程非常复杂,有很多概念和工具需要去学习,贴心的.NET提供Task线程包装类和await/async异步编程语法糖简化了异步编程方式. 相信很多开发者都看到如下异步编程实践原 ...

  2. [UE4]C++设置AnimInstance的相关问题

    注意:ue4 4.17调用LoadObject<UAnimBlueprintGeneratedClass>直接崩 http://aigo.iteye.com/blog/2285001 UA ...

  3. 洛谷 P2216 [HAOI2007]理想的正方形

    P2216 [HAOI2007]理想的正方形 题目描述 有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小. 输入输出格式 输入格式: 第一 ...

  4. How to install your SSL Certificate to your Windows Server

    Installation: Open the ZIP file containing your certificate. Save the file named your_domain_name.ce ...

  5. Ruby: Case表达式

    Ruby的case表达式有两种形式: 第一种形式接近于一组连续的if语句:它让你列出一组条件,并执行第一个为真的条件表达式所对应的语句. 第二种形式,在case语句的顶部指定一个目标,而每个when从 ...

  6. jQuery EasyUI/TopJUI上传多个附件并可以进行删除操作

    jQuery EasyUI/TopJUI上传多个附件并可以进行删除操作 html <table data-toggle="topjui-datagrid" data-opti ...

  7. 条件分页 分页条件和页参数传递方式一 超链接拼串 方式二 使用查询表单searchForm

    <%-- Created by IntelliJ IDEA. User: jie Date: 2019/5/10 Time: 20:00 To change this template use ...

  8. shell编程 条件判断式----利用 case ..... esac 判断

    条件判断式----利用 case ..... esac 判断 case  $变量名称 in   <==关键词为 case ,还有变量前有钱字号 "第一个变量内容")   &l ...

  9. NOI2015品酒大会 后缀数组

    自己尝试敲后缀数组,发现难看(tiao)的不行,于是抄了板子 考虑建出hei以后转化出的问题: 对于一个数组中权值大于等于k的连续部分,求取两个数的方案数和两数积的最大值 (好气啊,可以有负数) 把询 ...

  10. net core mvc剖析:启动流程

    net core mvc剖析:启动流程 asp.net core mvc是微软开源的跨平台的mvc框架,首先它跟原有的MVC相比,最大的不同就是跨平台,然后又增加了一些非常实用的新功能,比如taghe ...