MATLAB | 分形的艺术——(Mandelbrot)曼德勃罗特集合
PART.0 Mandelbrot 介绍
“无规则的碎片” “魔鬼的聚合物” “上帝的指纹”
Mandelbrot集合有着多种称谓,那么什么是曼德勃罗特集?Mandelbrot集合可以用复二次多项式:
fc(z)=z2+cf_c(z)=z^2+c fc(z)=z2+c
来表示,其中c是一个复数。对于每一个c,从z=0,开始对fc(z)f_c(z)fc(z)进行迭代。序列:
(0,fc(0),fc(fc(0)),fc(fc(fc(0))),…)(0,f_c(0),f_c(f_c(0)),f_c(f_c(f_c(0))),\dots) (0,fc(0),fc(fc(0)),fc(fc(fc(0))),…)
的元素的模或者延伸到无穷大,或者只停留在有限半径的圆盘内。Mandelbrot集合就是使以上序列不延伸至无限大的所有c点的集合。
在复平面上,将所有属于Mandelbrot集合的点标记为黑色,将所有不属于集合的点按照其发散速度赋予不同的颜色,就可以得到Mandelbrot的经典图像:
从图像Mandelbrot集合的边缘无限放大,可以不断看到各种各样的分形结构,注意这里图上的标号,会和后面的各个例子一一对应。这里先给出这个全貌图的绘制代码(此代码参考mathworks官网):
maxIterations=800;
gridSize=1000;
xlim=[-2 1];
ylim=[-1.5 1.5];% Setup
x=linspace(xlim(1),xlim(2),gridSize);
y=linspace(ylim(1),ylim(2),gridSize);
[xGrid,yGrid]=meshgrid(x,y);
z0=xGrid+1i*yGrid;
count=ones(size(z0));% Calculate
z=z0;
for n=0:maxIterationsz=z.*z+z0;inside=abs(z)<=2;count=count+inside;
end
count=log(count);% Show
imagesc(x,y,count);
colormap([flipud(pink());0 0 0]);
PART.2 不同区域的渲染图
区域4附近:Valley of the Seahorses
x=-0.748766710846959
y=0.123640847970064
区域5附近:West Wing
x=-1.6735
y=0.0003318
区域1附近:Triple Spiral Valley
xlim=[-0.090,-0.086]
ylim=[0.654,0.657]
区域9附近:microbugs
x=-1.7497591451303665
y=-0.0000000036851380
换个颜色,并调整为正方形:
再换个颜色:
区域12附近:Elephant Valley
xlim=[0.275, 0.28]
ylim=[0.006, 0.01]
PART.3 滚动颜色
介绍一个有趣的函数:spinmap
即为滚动颜色,在程序最后面加入:
spinmap(10)
就能让颜色整体轮换滚动10秒
这里图片超出上传大小就不在这放了,想看动图可以点击文末公众号名片去公众号查看
完整代码:
【链接】:https://pan.baidu.com/s/1me67-hxJbwmJYQIHz-3DtQ?pwd=slan
【提取码】:slan
MATLAB | 分形的艺术——(Mandelbrot)曼德勃罗特集合相关推荐
- matlab分形曼德勃罗,曼德勃罗集合分形图案
三.曼德勃罗集合(Mandelbrot Set) 曼德勃罗集合(Mandelbrot Set)或曼德勃罗复数集合,是一种在复平面上组成分形的点的集合,因由曼德勃罗提出而得名.曼德博集合可以使复二次多项 ...
- JavaScript实现曼德勃罗(Mandelbrot)集合
运用知识: js线程.Mandelbrot 1. js线程 js线程简介: 在HTML5中的线程是这样一种机制,它允许在Web程序中并发执行多个JS脚本, 每一个脚本执行流都称为一个线程,彼此间相互 ...
- matlab分形曼德勃罗,曼德勃罗与他的分形几何学
"谁不知道概念就不能被认为是科学上的文化人,将来谁不知道分形概念,也不能称为有知识."物理学家惠勒在提到分形的时候,用了这样的话语来评价.那么,你知道分形是什么吗? 分形可以说是一 ...
- 基于MATLAB和python输出曼德勃罗集
上帝的指纹--曼德勃罗集 曼德勃罗集可称是人类有史以来做出的最奇异.最瑰丽的几何图形,被人称为"上帝的指纹"."魔鬼的聚合物". 这个点集均出自公式:Zn+1= ...
- python绘制分形图基础_Python 绘制分形图(曼德勃罗集、分形树叶、科赫曲线、分形龙、谢尔宾斯基三角等)附代码...
1. 曼德勃罗集 import numpy as np import pylab as pl import time from matplotlib import cm def iter_point( ...
- C语言递归分形实验-曼德勃罗集
这学期的线下C语言课程,大一学生学完递归后,为了加深对递归的理解,布置了一次分形图片生成实验的PBL.这次,介绍同学们实现的曼德勃罗集.以下提供了分步骤的实现思路.代码,大家可以参考. 同学们调研的目 ...
- python生成曼德勃罗分形图形
来自https://blog.csdn.net/baimafujinji/article/details/50859174 c程序版生产那种格式的图像显然不利于咱们研究分析,于是写个py版本的以方便学 ...
- 浅析曼德勃罗集及C++实现图形绘制
在算法大作业中,认识到了曼德勃罗集(Mandelbrot Set)这一名词,经过网上资料的查阅,才对其思想和独特魅力略知皮毛.由于该集合的定义与分形有关,需要先介绍一下分形的概念. 什么是分形(Fra ...
- unity DOTS的学习总结之Job System应用——绘制曼德勃罗集合
接上回:DOTS的学习总结之Job System的介绍,这次就利用之前了解知识来做点效果. 上回在这:unity DOTS的学习总结之Job System 说到并行处理,那最适合拿来做实验的就是一些分 ...
- C++ AMP实战:绘制曼德勃罗特集图像
本文转自:http://www.cnblogs.com/Ninputer/archive/2012/01/03/2310945.html 之前我写了一篇用GPU绘制曼德勃罗特(Mandelbrot)集 ...
最新文章
- call指令和ret指令的配合使用
- HDB3的matlab编译码
- Html5 Game - SpaceWar
- Python之超级好用的8个VS Code扩展
- 【转】程序员健康建议
- 【QGIS入门实战精品教程】2.1:初识QGIS软件
- 后面的 飞鸽传书 l代表lock
- oracle添加联合主键
- 周二强新概念c语言答案,新编C语言程序设计(周二强版)课后习题练习4答案
- Codeforces Round #224 (Div. 2)
- Java中一个逐渐被遗忘的强大功能,强到你难以置信!
- 号码检测,节省成本利器
- JAVA POI 设置 Word 纸张大小为 A3
- 新品上市|A股场内衍生品大盘点
- linux命令之head、tail命令具体解释
- 禅道类似软件_六大Jira项目管理软件替代品
- 4.4亿赎金,6800GB数据窃取,勒索病毒攻击到底怎么防?
- 平安夜吃苹果想起的事
- 2020行业信息化竞争力百强发布!
- 集原美 萝莉少女 电脑4k壁纸3840x2160
热门文章
- 计算机辅助审计笔记,审计笔记2.0 盘点
- 【ORB_SLAM3源码解读】IMU基础介绍、IMU姿态、速度、位置解算以及误差方程、坐标系
- 蓝牙加密方案,蓝牙方案,蓝牙usbkey,蓝牙key,蓝牙U盾,蓝牙智能卡(公交卡等CPU卡),蓝牙身份认证产品分享,蓝牙公交卡,蓝牙会员卡
- 不同方向程序员工资一览!
- CSS 查看css兼容性的站点
- 新手如何自己做网站?
- html5css字竖着显示,css如何设置竖排文字?
- DFA(deterministic finite automaton )有限状态机概念
- 解决MacBook无法读写移动硬盘的问题
- 苹果退款_这里有颗“后悔药”:苹果App Store退款流程