当前位置: 首页 > news >正文

MATLAB | MATLAB版玫瑰祝伟大女性节日快乐!!

妇女节到了,这里祝全体伟大的女性,节日快乐,事业有成,万事胜意。

作为MATLAB爱好者,这里还是老传统画朵花叭,不过感觉大部分样式的花都画过了,这里将一段很古老的2012年的html玫瑰花代码转成MATLAB版本

html版本代码出自:

  • http://www.romancortes.com/blog/1k-rose/

网站有代码详细原理,可以去瞅一眼:

完整代码

MATLAB代码也不是很长:

function htmlRose
f = 500;
h = -250;
ax                 = gca;
ax.NextPlot        = 'add';
ax.DataAspectRatio = [1,1,1];
ax.YDir            = 'reverse';
ax.XColor          = 'none';
ax.YColor          = 'none';
function V = calc(a, b, c)
if c > 60 V.x = sin(a.*7).*(13+5./(.2+power(b.*4, 4)))-sin(b).*50;V.y = b.*f+50;V.z = 625+cos(a.*7).*(13+5./(.2+power(b.*4, 4)))+b.*400;V.r = a-b./2;V.g = a;
elseA = a.*2-1;B = b.*2-1;ind = A.*A+B.*B<1;a = a(ind); b = b(ind);A = A(ind); B = B(ind);if c > 37j = double(bitand(int32(c),1));n = double(j.*6+~j.*4);o = .5./(a+.01)+cos(b.*125).*3-a.*300;w = b.*h;V.x = o.*cos(n)+w.*sin(n)+j.*610-390;V.y = o.*sin(n)-w.*cos(n)+550-j.*350;V.z = 1180+cos(B+A).*99-j.*300;V.r = .4-a.*.1+power(1-B.*B, -h.*6).*.15-a.*b.*.4+cos(a+b)./5+...power(cos((o.*(a+1)+(B>0).*w-(B<=0).*w)./25), 30).*.1.*(1-B.*B);V.g = o./1e3+.7-o.*w.*3e-6;elseif c > 32c = c.*1.16-.15;o = a.*45-20;w = b.*b.*h;V.z = o.*sin(c)+w.*cos(c)+620;V.x = o.*cos(c)-w.*sin(c);V.y = 28+cos(B.*.5).*99-b.*b.*b.*60-V.z./2-h;V.r = (b.*b.*.3+power((1-(A.*A)), 7).*.15+.3).*b;V.g = b.*.7;elseo = A.*(2-b).*(80-c.*2);w = 99-cos(A).*120-cos(b).*(-h-c.*4.9)+cos(power(1-b, 7)).*50+c.*2;V.z = o.*sin(c)+w.*cos(c)+700;V.x = o.*cos(c)-w.*sin(c);V.y = B.*99-cos(power(b, 7)).*50-c./3-V.z./1.35+450;V.r = (1-b./1.2).*.9+a.*.1;V.g = power((1-b), 20)./4+.05;end
end
end
zBuffer = zeros(f,f);
for k = 1:25for i = 0:45V = calc(rand(1, 5e3), rand(1, 5e3), i./.74);z = round(V.z + 0.5);x = int32(V.x.*f./z-h + 0.5);y = int32(V.y.*f./z-h + 0.5);ind2 = y<f;x = x(ind2); y = y(ind2); z = z(ind2);V.r = V.r(ind2); V.g = V.g(ind2);zBufferIndex = y.*f+x;zBufferBool = (~zBuffer(zBufferIndex))|zBuffer(zBufferIndex)>z;zBuffer(zBufferIndex(zBufferBool)) = z(zBufferBool);RGB = [bitcmp(int32(V.r.*h));bitcmp(int32(V.g.*h));bitcmp(int32(-V.r.*V.r.*80))].';RGB(RGB<0) = 0;RGB(RGB>255) = 255;RGB = double(RGB)./255;scatter(x(zBufferBool),y(zBufferBool),5,'filled',...'CData',RGB(zBufferBool,:),'MarkerEdgeColor','none',...'MarkerFaceAlpha',.7)enddrawnow
end
end

以上已经是完整代码!


当然账号上还有一些其他的花:

玫瑰花束

https://slandarer.blog.csdn.net/article/details/132396092


玫瑰花和花球

https://slandarer.blog.csdn.net/article/details/117048623


玫瑰花

https://slandarer.blog.csdn.net/article/details/129019574


相关文章:

MATLAB | MATLAB版玫瑰祝伟大女性节日快乐!!

妇女节到了&#xff0c;这里祝全体伟大的女性&#xff0c;节日快乐&#xff0c;事业有成&#xff0c;万事胜意。 作为MATLAB爱好者&#xff0c;这里还是老传统画朵花叭&#xff0c;不过感觉大部分样式的花都画过了&#xff0c;这里将一段很古老的2012年的html玫瑰花代码转成MA…...

LVS+Keepalived 高可用集群

目录 一.Keepalived工具介绍 1.用户空间核心组件&#xff1a; &#xff08;1&#xff09;vrrp stack&#xff1a;VIP消息通告 &#xff08;2&#xff09;checkers&#xff1a;监测real server&#xff08;简单来说 就是监控后端真实服务器的服务&#xff09; &#xff08;…...

Linux:kubernetes(k8s)探针ReadinessProbe的使用(9)

本章yaml文件是根据之前文章迭代修改过来的 先将之前的pod删除&#xff0c;然后使用下面这个yaml进行生成pod apiVersion: v1 # api文档版本 kind: Pod # 资源对象类型 metadata: # pod相关的元数据&#xff0c;用于描述pod的数据name: nginx-po # pod名称labels: # pod的标…...

专题一 - 双指针 - leetcode 1089. 复写零 - 简单难度

leetcode 1089. 复写零 leetcode 1089. 复写零 | 简单难度1. 题目详情1. 原题链接2. 基础框架 2. 解题思路1. 题目分析2. 算法原理3. 时间复杂度 3. 代码实现4. 知识与收获 leetcode 1089. 复写零 | 简单难度 1. 题目详情 给你一个长度固定的整数数组 arr &#xff0c;请你将…...

深入浅出(二)MVVM

MVVM 1. 简介2. 示例 1. 简介 2. 示例 示例下载地址&#xff1a;https://download.csdn.net/download/qq_43572400/88925141 创建C# WPF应用(.NET Framework)工程&#xff0c;WpfApp1 添加程序集 GalaSoft.MvvmLight 创建ViewModel文件夹&#xff0c;并创建MainWindowV…...

2023年第三届中国高校大数据挑战赛(第二场)A题思路

竞赛时间 &#xff08;1&#xff09;报名时间&#xff1a;即日起至2024年3月8日 &#xff08;2&#xff09;比赛时间&#xff1a;2024年3月9日8:00至2024年3月12日20:00 &#xff08;3&#xff09;成绩公布&#xff1a;2024年4月30日前 赛题方向&#xff1a;大数据统计分析 …...

数据挖掘:

一.数据仓库概述&#xff1a; 1.1数据仓库概述 1.1.1数据仓库定义 数据仓库是一个用于支持管理决策的、面向主题、集成、相对稳定且反映历史变化的数据集合。 1.1.2数据仓库四大特征 集成性&#xff08;Integration&#xff09;&#xff1a; 数据仓库集成了来自多个不同来源…...

NDK,Jni

使用 NDK&#xff08;Native Development Kit&#xff09;意味着在 Android 应用程序中集成 C/C 代码。通常情况下&#xff0c;Android 应用程序主要使用 Java 或 Kotlin 编写&#xff0c;但有时候需要使用 C/C 来实现一些特定的功能或性能优化。 NDK 提供了一组工具和库&…...

Java实战:Spring Boot整合Canal与RabbitMQ实时监听数据库变更并高效处理

引言 在现代微服务架构中&#xff0c;数据的变化往往需要及时地传播给各个相关服务&#xff0c;以便于同步更新状态或触发业务逻辑。Canal作为一个开源的MySQL binlog订阅和消费组件&#xff0c;能够帮助我们实时捕获数据库的增删改操作。而RabbitMQ作为一款消息中间件&#x…...

机器学习:探索计算机的自我进化之路

当我们谈论机器学习时&#xff0c;我们在谈论什么呢&#xff1f;机器学习是一门跨学科的学科&#xff0c;它使用计算机模拟或实现人类学习行为&#xff0c;通过不断地获取新的知识和技能&#xff0c;重新组织已有的知识结构&#xff0c;从而提高自身的性能。简单来说&#xff0…...

【Flink网络数据传输(4)】RecordWriter(下)封装数据并发送到网络的过程

文章目录 一. RecordWriter封装数据并发送到网络1. 数据发送到网络的具体流程2. 源码层面2.1. Serializer的实现逻辑a. SpanningRecordSerializer的实现b. SpanningRecordSerializer中如何对数据元素进行序列化 2.2. 将ByteBuffer中间数据写入BufferBuilder 二. BufferBuilder申…...

【牛客】VL74 异步复位同步释放

描述 题目描述&#xff1a; 请使用异步复位同步释放来将输入数据a存储到寄存器中&#xff0c;并画图说明异步复位同步释放的机制原理 信号示意图&#xff1a; clk为时钟 rst_n为低电平复位 d信号输入 dout信号输出 波形示意图&#xff1a; 输入描述&#xff1a; clk为时…...

CSS3笔记

1.相同优先级的样式以写在后面的为主。 2.交集选择器&#xff0c;并且 条件挨在一起 p.rich{...} /*p元素class有rich的元素*/ 3.并集选择器&#xff0c;或者 逗号隔开 .class1,class2{...}/*满足其中一个类名都会使用该样式*/ 4.后代选择器 空格 隔开 所有符合的包括孙子及…...

两天学会微服务网关Gateway-Gateway工作原理

锋哥原创的微服务网关Gateway视频教程&#xff1a; Gateway微服务网关视频教程&#xff08;无废话版&#xff09;_哔哩哔哩_bilibiliGateway微服务网关视频教程&#xff08;无废话版&#xff09;共计17条视频&#xff0c;包括&#xff1a;1_Gateway简介、2_Gateway工作原理、3…...

备忘 clang diagnostic 类的应用示例 ubuntu 22.04

系统的ncurses环境有些问题 通过源码安装了ncurses6.3后&#xff0c;才可以在 llvmort-18.1.rc4中编译通过示例&#xff1a; 1&#xff0c;折腾环境 ncurses-6.3$ ./configure ncurses-6.3$ make -j ncurses-6.3$ sudo make install sudo apt install libtinfo5 sudo…...

Git小册-笔记迁移

Git简介 Git是目前世界上最先进的分布式版本控制系统&#xff08;没有之一&#xff09;。 所有的版本控制系统&#xff0c;其实只能跟踪文本文件的改动&#xff0c;比如TXT文件&#xff0c;网页&#xff0c;所有的程序代码等等&#xff0c;Git也不例外。版本控制系统可以告诉…...

【你也能从零基础学会网站开发】Web建站之HTML+CSS入门篇 传统布局和Web标准布局的区别

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;web开发者、设计师、技术分享 &#x1f40b; 希望大家多多支持, 我们一起学习和进步&#xff01; &#x1f3c5; 欢迎评论 ❤️点赞&#x1f4ac;评论 &#x1f4c2;收藏 &#x1f4c2;加关注 传统布局与…...

005-事件捕获、冒泡事件委托

事件捕获、冒泡&事件委托 1、事件捕获与冒泡2、事件冒泡示例3、阻止事件冒泡4、阻止事件默认行为5、事件委托6、事件委托优点 1、事件捕获与冒泡 2、事件冒泡示例 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /…...

SpringBoot快速入门(介绍,创建的3种方式,Web分析)

目录 一、SpringBoot介绍 二、SpringBootWeb快速入门 创建 定义请求处理类 运行测试 三、Web分析 一、SpringBoot介绍 我们可以打开Spring的官网(Spring | Home)&#xff0c;去看一下Spring的简介&#xff1a;Spring makes Java simple。 Spring发展到今天已经形成了一种…...

VMwareWorkstation17.0虚拟机搭建WindowsME虚拟机(完整安装步骤详细图文教程)

VMwareWorkstation17.0虚拟机搭建WindowsME虚拟机&#xff08;完整安装步骤详细图文教程&#xff09; 一、Windows ME安装准备工作3.1 Windows ME下载地址3.2 DOS软盘版下载地址3.3 UltraISO 4.用VMware虚拟模仿当年的电脑配置4.1 新建虚拟机4.2 类型配置4.3 类型配置4.4 选择版…...

批量为视频文件添加内嵌封面:两种模式的适用场景与配置

记录一下使用【批量添加MP4封面工具】的实践经验&#xff0c;重点讲两种封面模式的选择和配置。背景视频文件&#xff08;MP4、MKV等&#xff09;支持在文件内部嵌入封面图片&#xff08;attached_pic&#xff09;。嵌入后&#xff0c;在文件管理器的缩略图视图中会显示指定的封…...

KubeSphere vs Kuboard:Kubernetes管理工具选型与实战对比

KubeSphere vs Kuboard&#xff1a;深度对比与选型指南 1. 开篇&#xff1a;为什么需要Kubernetes管理工具&#xff1f; 在云原生技术蓬勃发展的今天&#xff0c;Kubernetes已成为容器编排领域的事实标准。然而&#xff0c;原生Kubernetes Dashboard的功能相对基础&#xff0c;…...

3步掌握PinWin效率工具:让窗口置顶操作效率提升10倍

3步掌握PinWin效率工具&#xff1a;让窗口置顶操作效率提升10倍 【免费下载链接】PinWin Pin any window to be always on top of the screen 项目地址: https://gitcode.com/gh_mirrors/pin/PinWin 你是否曾在视频会议时手忙脚乱地寻找被覆盖的会议窗口&#xff1f;在多…...

ONLYOFFICE社区模块功能详解:博客、论坛、投票与Wiki的完整协作指南

ONLYOFFICE社区模块功能详解&#xff1a;博客、论坛、投票与Wiki的完整协作指南 【免费下载链接】CommunityServer Free open source office suite with business productivity tools: document and project management, CRM, mail aggregator. 项目地址: https://gitcode.co…...

合规刚需下,游戏行业适合的内网通讯软件怎么选

一、背景 2026年&#xff0c;游戏行业在合规监管、信创推进与降本增效三重驱动下&#xff0c;内部协作与数据安全需求持续升级。《数据安全法》《网络安全法》对游戏企业研发代码、运营数据、用户信息的存储与传输提出明确合规要求&#xff0c;数据泄露、权限失控、协作低效等…...

Elixir Plug安全防护:CSRF保护、SSL强制与基础认证的终极教程

Elixir Plug安全防护&#xff1a;CSRF保护、SSL强制与基础认证的终极教程 【免费下载链接】plug Compose web applications with functions 项目地址: https://gitcode.com/gh_mirrors/pl/plug Elixir Plug 是一个强大的 Web 应用构建工具&#xff0c;提供了全面的安全防…...

3步打造专业级H5页面:开源编辑器h5maker零代码解决方案

3步打造专业级H5页面&#xff1a;开源编辑器h5maker零代码解决方案 【免费下载链接】h5maker h5编辑器类似maka、易企秀 账号/密码&#xff1a;admin 项目地址: https://gitcode.com/gh_mirrors/h5/h5maker 在数字化营销与内容传播领域&#xff0c;H5页面已成为连接品牌…...

Git误操作急救手册(1):为什么我们需要一本Git急救手册?——理解版本控制的‘事故现场’

Git误操作急救手册(1):为什么我们需要一本Git急救手册?——理解版本控制的‘事故现场’ 上周三凌晨两点,我盯着终端里那行 git push --force 的历史记录,后背一阵发凉。 屏幕上的红色错误提示像急诊室的监护仪在闪烁——远程分支已经和本地彻底分道扬镳,三个同事当天提交…...

ROS2开发环境搭建避坑指南:Win11 + WSL2 + Ubuntu 22.04 从安装到测试的完整记录

ROS2开发环境搭建实战&#xff1a;Win11与WSL2深度适配指南 环境准备与系统调优 在Windows 11上搭建ROS2开发环境&#xff0c;选择WSL2作为Linux子系统是最佳实践方案。不同于传统虚拟机方案&#xff0c;WSL2提供了接近原生Linux的性能表现&#xff0c;同时完美集成Windows桌…...

C++ ODB ORM 实战指南

好的&#xff0c;这是一份关于在 C 中使用 ODB ORM 的指南&#xff0c;涵盖从基础概念到实际应用的各个方面。 1. ODB ORM 简介 对象关系映射 (ORM) 是一种编程技术&#xff0c;用于在面向对象的编程语言&#xff08;如 C&#xff09;和关系型数据库之间建立映射关系。它允许开…...