蕨型叶分形
目录
要点
基本语句
EraseMode
习题
1 设置颜色
2 旋转蕨型叶图
3 枝干
4 塞平斯基三角形
要点
蕨型叶是通过一个点的反复变换产生的,假设x是一个含有两个分量的向量,可以用来表示平面内的一个点,则可以用Ax+b的形式对其进行变换。
基本语句
语句darkgreen=[0 2/3 0]设置深绿色的颜色变量,在matlab中用红绿蓝分量来表示颜色,这里将绿色分量设置为2/3,其余为0。
采用animatedline来绘制蕨型叶,h为蕨型叶图形的句柄。
function fern_ashgclf resetset(gcf,'color','white','menubar','none', ...'numbertitle','off','name','Fractal Fern')x = [.5; .5];h = animatedline('Marker', '.', 'LineStyle', 'none', 'Color', [0 2/3 0]);axis([-3 3 0 10])axis off %不显示坐标轴,只显示叶子本身stop = uicontrol('style','toggle','string','stop', ...'background','white');drawnow %绘制p = [ .85 .92 .99 1.00];A1 = [ .85 .04; -.04 .85]; b1 = [0; 1.6];A2 = [ .20 -.26; .23 .22]; b2 = [0; 1.6];A3 = [-.15 .28; .26 .24]; b3 = [0; .44];A4 = [ 0 0 ; 0 .16];cnt = 1; %将计数器的初始值设置为1ticwhile ~get(stop,'value')r = rand;if r < p(1)x = A1*x + b1;elseif r < p(2)x = A2*x + b2;elseif r < p(3)x = A3*x + b3;elsex = A4*x;endaddpoints(h, x(1), x(2));drawnow %重新绘制图形cnt = cnt + 1; %生成新的点后计数器的数值自增1endt = toc; %读取秒表数据s = sprintf('%8.0f points in %6.3f seconds',cnt,t);text(-1.5,-0.5,s,'fontweight','bold');set(stop,'style','pushbutton','string','close','callback','close(gcf)')
end
EraseMode
EraseMode 属性不再受支持,而且在以后的版本中会出错。
初始语句:
h = plot(x(1),x(2),'.'); darkgreen = [0 2/3 0]; set(h,'markersize',1,'color',darkgreen,'erasemode','none');
修改后:
h = animatedline('Marker', '.', 'LineStyle', 'none', 'Color', [0 2/3 0]);
习题
1 设置颜色
在MATLAB中,颜色可以使用多种方式来表示,其中一种常用的方式是使用RGB(Red-Green-Blue)表示法。在RGB表示法中,每个颜色的红、绿、蓝三个分量的取值范围为0到1,表示颜色的深浅程度。
function fern_ashgclf resetset(gcf,'color','black','menubar','none', ...'numbertitle','off','name','Fractal Fern')x = [.5; .5];h = animatedline('Marker', '.', 'LineStyle', 'none', 'Color', [1 0.75 0.8]);axis([-3 3 0 10])axis offstop = uicontrol('style','toggle','string','stop', ...'background','black','ForegroundColor','white');drawnowp = [ .85 .92 .99 1.00];A1 = [ .85 .04; -.04 .85]; b1 = [0; 1.6];A2 = [ .20 -.26; .23 .22]; b2 = [0; 1.6];A3 = [-.15 .28; .26 .24]; b3 = [0; .44];A4 = [ 0 0 ; 0 .16];cnt = 1;ticwhile ~get(stop,'value')r = rand;if r < p(1)x = A1*x + b1;elseif r < p(2)x = A2*x + b2;elseif r < p(3)x = A3*x + b3;elsex = A4*x;endaddpoints(h, x(1), x(2));drawnowcnt = cnt + 1;endt = toc;s = sprintf('%8.0f points in %6.3f seconds',cnt,t);text(-1.5,-0.5,s,'fontweight','bold','Color','red');set(stop,'style','pushbutton','string','close','callback','close(gcf)')
end
2 旋转蕨型叶图
%修改坐标
addpoints(h, x(2), x(1));%修改标注位置
s = sprintf('%8.0f points in %6.3f seconds',cnt,t);
text(2.5,-2.9,s,'fontweight','bold','Color','red');
3 枝干
A4 = [0, 0; 0, 0.16];
%修改为
A4 = [0, 0; 0, 0.08];
%这将使得蕨型叶的枝干更加瘦长
蕨型叶的起始点均为(0,0)。
4 塞平斯基三角形
function sierpinski_triangle_ashgclf resetset(gcf, 'color', 'white', 'menubar', 'none', ...'numbertitle', 'off', 'name', 'Fractal Sierpinski Triangle')x = [.5; sqrt(3)/6];h = animatedline('Marker', '.', 'LineStyle', 'none', 'Color', [0 2/3 0]);axis([0 1 0 sqrt(3)/2])axis offstop = uicontrol('style', 'toggle', 'string', 'stop', ...'background', 'white');hold onplot([0, 1, 0.5, 0], [0, 0, sqrt(3)/2, 0], 'k-*'); % 绘制三角形的顶点drawnowA1 = [0.5, 0; 0, 0.5]; b1 = [0; 0];A2 = [0.5, 0; 0, 0.5]; b2 = [0.5; 0];A3 = [0.5, 0; 0, 0.5]; b3 = [0.25; sqrt(3)/4];cnt = 1;ticwhile ~get(stop, 'value')r = rand;if r <= 1/3x = A1 * x + b1;elseif r <= 2/3 & r>1/3x = A2 * x + b2;elsex = A3 * x + b3;endaddpoints(h, x(1), x(2));drawnowcnt = cnt + 1;endt = toc;s = sprintf('%8.0f points in %6.3f seconds', cnt, t);text(0.25, -0.05, s, 'fontweight', 'bold');set(stop, 'style', 'pushbutton', 'string', 'close', 'callback', 'close(gcf)')
end
相关文章:

蕨型叶分形
目录 要点 基本语句 EraseMode 习题 1 设置颜色 2 旋转蕨型叶图 3 枝干 4 塞平斯基三角形 要点 蕨型叶是通过一个点的反复变换产生的,假设x是一个含有两个分量的向量,可以用来表示平面内的一个点,则可以用Axb的形式对其进行变换。 基本…...

DevOps系列文章之 Git知识大全
Git常用命令 配置Git-SSH 配置Git的user name以及Git要关联的邮箱email git config --global user.name your name git config --global user.email your email 生成密钥 ruby 复制代码 $ ssh-keygen -t rsa -C "your email" 按三个回车,跳过设置密码&am…...

JVM理论(六)执行引擎--垃圾回收
概述 垃圾: 指的是在运行程序中没有任何指针指向的对象垃圾回收目的: 为了及时清理空间使得程序可以正常运行垃圾回收机制: JVM采取的是自动内存管理,即JVM负责对象的创建以及回收,将程序员从繁重的内存管理释放出来,更加专注业务的开发垃圾回收区域: 频繁收集Young区(新生代)…...

贪心算法重点内容
贪心算法重点内容 4.1部分背包 按照单位重量的价值排序 4.2最小生成树 两种算法 4.3单源最短路径 4.4哈夫曼树...

基于深度学习的高精度交通信号灯检测系统(PyTorch+Pyside6+YOLOv5模型)
摘要:基于深度学习的高精度交通信号灯检测识别可用于日常生活中检测与定位交通信号灯目标,利用深度学习算法可实现图片、视频、摄像头等方式的交通信号灯目标检测识别,另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检…...

【3D目标检测】DSVT-2023CVPR
论文:https://arxiv.org/pdf/2301.06051.pdf 作者:北大,华为 代码:https://github.com/Haiyang-W/DSVT ( OpenPCDet 框架已集成) 讲解:实时部署!DSVT:3D动态稀疏体素Tr…...

我在VScode学Python(Python函数,Python模块导入)
我的个人博客主页:如果’真能转义1️⃣说1️⃣的博客主页 (1)关于Python基本语法学习---->可以参考我的这篇博客《我在VScode学Python》 (2)pip是必须的在我们学习python这门语言的过程中Python ---->&a…...

【目标跟踪】1、基础知识
文章目录 一、卡尔曼滤波二、匈牙利匹配 一、卡尔曼滤波 什么是卡尔曼滤波?——状态估计器 卡尔曼滤波用于在包含不确定信息的系统中做出预测,对系统下一步要做什么进行推测,且会结合推测值和观测值来得到修正后的最优值卡尔曼滤波就是利用…...
33. 搜索旋转排序数组
题目描述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], ..., nums[n-1], nums[0], n…...

接口自动化测试要做什么?8个步骤讲的明明白白(小白也能看懂系列)
先了解下接口测试流程: 1、需求分析 2、Api文档分析与评审 3、测试计划编写 4、用例设计与评审 5、环境搭建(工具) 6、执行用例 7、缺陷管理 8、测试报告 那"接口自动化测试"怎么弄?只需要在上篇文章的基础上再梳理下就…...
Flutter 自定义 虚线 分割线
学习使用Flutter 进行 虚线 自定义控件 练习 // 自定义虚线 (默认是垂直方向) class DashedLind extends StatelessWidget {final Axis axis; // 虚线方向final double dashedWidth; // 根据虚线的方向确定自己虚线的宽度final double dashedHeight; //…...

Java毕业设计—爱宠医院管理系统设计与实现
爱宠医院管理系统 获取数论文、代码、答辩PPT、安装包,可以查看文章底部 一、 如何安装及配置环境 要运行整个爱宠医院管理系统需要安装数据库:MySQL 5.5,开发工具:JDK 1.8,开发语开发平台:Eclipse&…...

AI时代带来的图片造假危机,该如何解决
一、前言 当今,图片造假问题非常泛滥,已经成为现代社会中一个严峻的问题。随着AI技术不断的发展,人们可以轻松地通过图像编辑和AI智能生成来篡改和伪造图片,使其看起来真实而难以辨别,之前就看到过一对硕士夫妻为了骗…...

【动态规划】简单多状态
文章目录 动态规划(简单多状态)1. 按摩师2. 打家劫舍 ||3. 删除并获得点数4. 粉刷房子5. 最佳买卖股票时机含冷冻期6. 买卖股票的最佳时机含手续费7. 买卖股票的最佳时机 |||8. 买卖股票的最佳时机 IV 动态规划(简单多状态) 1. 按…...

科技资讯|苹果计划本月推出Vision Pro头显开发套件,电池有重大更新
根据消息源 aaronp613 分享的信息,苹果计划本月底面向开发者,发布 Vision Pro 头显开发套件。消息源还指出苹果更新了 Vision Pro 头显电池组的代号,共有 A2781,A2988 和 A2697 三种不同的型号,目前尚不清楚三者之间的…...
k8s 将pod节点上的文件拷贝到本地
要将 Kubernetes(k8s)中 Pod 节点上的文件拷贝到本地,可以通过使用 kubectl cp 命令来实现。kubectl cp 命令允许你在本地系统和 Pod 之间复制文件和目录。 下面是使用 kubectl cp 命令的语法: kubectl cp <namespace>/&l…...

Git简介与工作原理:了解Git的基本概念、版本控制系统和分布式版本控制的工作原理
🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~ἳ…...
java篇 类的进阶0x02:方法重载
文章目录 方法重载 overload方法签名返回值不属于方法签名的原因: 重载的参数匹配规则 方法重载 overload 多个方法功能很相似,但不完全一样,可以考虑使用方法的重载。 同一个类中,方法可以重名,但是签名不可以重复。…...

Android11 相机拍照权限,以及解决resolveActivity返回null
一、配置拍照和读写权限 <uses-permission android:name"android.permission.CAMERA"/> <uses-feature android:name"android.hardware.camera" /><uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE"/&…...

MAXENT模型的生物多样性教程
详情点击链接:基于MAXENT模型的生物多样性生境模拟与保护优先区甄选、自然保护区布局优化及未来气候变化下评估中的应用及论文写作 一:生物多样性保护格局与自然保护区格局优化 1.我国生物多样性格局与分布; 2.我国自然保护区格局与分布&…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...

iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...

FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...