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)曼德勃罗特集合相关推荐

  1. matlab分形曼德勃罗,曼德勃罗集合分形图案

    三.曼德勃罗集合(Mandelbrot Set) 曼德勃罗集合(Mandelbrot Set)或曼德勃罗复数集合,是一种在复平面上组成分形的点的集合,因由曼德勃罗提出而得名.曼德博集合可以使复二次多项 ...

  2. JavaScript实现曼德勃罗(Mandelbrot)集合

    运用知识: js线程.Mandelbrot 1.  js线程 js线程简介: 在HTML5中的线程是这样一种机制,它允许在Web程序中并发执行多个JS脚本, 每一个脚本执行流都称为一个线程,彼此间相互 ...

  3. matlab分形曼德勃罗,曼德勃罗与他的分形几何学

    "谁不知道概念就不能被认为是科学上的文化人,将来谁不知道分形概念,也不能称为有知识."物理学家惠勒在提到分形的时候,用了这样的话语来评价.那么,你知道分形是什么吗? 分形可以说是一 ...

  4. 基于MATLAB和python输出曼德勃罗集

    上帝的指纹--曼德勃罗集 曼德勃罗集可称是人类有史以来做出的最奇异.最瑰丽的几何图形,被人称为"上帝的指纹"."魔鬼的聚合物". 这个点集均出自公式:Zn+1= ...

  5. python绘制分形图基础_Python 绘制分形图(曼德勃罗集、分形树叶、科赫曲线、分形龙、谢尔宾斯基三角等)附代码...

    1. 曼德勃罗集 import numpy as np import pylab as pl import time from matplotlib import cm def iter_point( ...

  6. C语言递归分形实验-曼德勃罗集

    这学期的线下C语言课程,大一学生学完递归后,为了加深对递归的理解,布置了一次分形图片生成实验的PBL.这次,介绍同学们实现的曼德勃罗集.以下提供了分步骤的实现思路.代码,大家可以参考. 同学们调研的目 ...

  7. python生成曼德勃罗分形图形

    来自https://blog.csdn.net/baimafujinji/article/details/50859174 c程序版生产那种格式的图像显然不利于咱们研究分析,于是写个py版本的以方便学 ...

  8. 浅析曼德勃罗集及C++实现图形绘制

    在算法大作业中,认识到了曼德勃罗集(Mandelbrot Set)这一名词,经过网上资料的查阅,才对其思想和独特魅力略知皮毛.由于该集合的定义与分形有关,需要先介绍一下分形的概念. 什么是分形(Fra ...

  9. unity DOTS的学习总结之Job System应用——绘制曼德勃罗集合

    接上回:DOTS的学习总结之Job System的介绍,这次就利用之前了解知识来做点效果. 上回在这:unity DOTS的学习总结之Job System 说到并行处理,那最适合拿来做实验的就是一些分 ...

  10. C++ AMP实战:绘制曼德勃罗特集图像

    本文转自:http://www.cnblogs.com/Ninputer/archive/2012/01/03/2310945.html 之前我写了一篇用GPU绘制曼德勃罗特(Mandelbrot)集 ...

最新文章

  1. call指令和ret指令的配合使用
  2. HDB3的matlab编译码
  3. Html5 Game - SpaceWar
  4. Python之超级好用的8个VS Code扩展
  5. 【转】程序员健康建议
  6. 【QGIS入门实战精品教程】2.1:初识QGIS软件
  7. 后面的 飞鸽传书 l代表lock
  8. oracle添加联合主键
  9. 周二强新概念c语言答案,新编C语言程序设计(周二强版)课后习题练习4答案
  10. Codeforces Round #224 (Div. 2)
  11. Java中一个逐渐被遗忘的强大功能,强到你难以置信!
  12. 号码检测,节省成本利器
  13. JAVA POI 设置 Word 纸张大小为 A3
  14. 新品上市|A股场内衍生品大盘点
  15. linux命令之head、tail命令具体解释
  16. 禅道类似软件_六大Jira项目管理软件替代品
  17. 4.4亿赎金,6800GB数据窃取,勒索病毒攻击到底怎么防?
  18. 平安夜吃苹果想起的事
  19. 2020行业信息化竞争力百强发布!
  20. 集原美 萝莉少女 电脑4k壁纸3840x2160

热门文章

  1. 计算机辅助审计笔记,审计笔记2.0 盘点
  2. 【ORB_SLAM3源码解读】IMU基础介绍、IMU姿态、速度、位置解算以及误差方程、坐标系
  3. 蓝牙加密方案,蓝牙方案,蓝牙usbkey,蓝牙key,蓝牙U盾,蓝牙智能卡(公交卡等CPU卡),蓝牙身份认证产品分享,蓝牙公交卡,蓝牙会员卡
  4. 不同方向程序员工资一览!
  5. CSS 查看css兼容性的站点
  6. 新手如何自己做网站?
  7. html5css字竖着显示,css如何设置竖排文字?
  8. DFA(deterministic finite automaton )有限状态机概念
  9. 解决MacBook无法读写移动硬盘的问题
  10. 苹果退款_这里有颗“后悔药”:苹果App Store退款流程