写在前面

本篇博客主要是利用matlab2016a绘制一些玫瑰花或表白语句,通过绘制掌握matlab画图的一些常规操作,话不多说,直接上代码及注释。

  • 1 爱心
  • 2 玫瑰
  • 3 I LOVE YOU
  • 4 参考文献与链接

1 爱心

clear;clc;%清空工作区以及命令行窗口
n=200;%一共有200个点
x=linspace(-1.5,1.5,n);%均分计算指令,用于产生[-1.5,1.5]之间的200点行线性的矢量。
y=linspace(-1.5,1.5,n);
z=linspace(-1.5,1.5,n);
[X,Y,Z]=meshgrid(x,y,z);%生成三维数组200*200*200,用来计算三变量的函数和绘制三维立体图
F=((-(X.^2).*(Z.^3)-(9/80).*(Y.^2).*(Z.^3))+0.5.*((X.^2)+(Y.^2)+(Z.^2)-1).^3);%心形线公式
isosurface(F,0)%从三维体数据中提取等值面数据
camlight right;%可以设置光源位置
lighting phong%在对象的每个面上产生均匀分布的光照,phong使图表面光滑细腻,色彩丰富
colormap('autumn');%将当前图窗的颜色图设置为autumn指定的颜色图
caxis([0,25])%设置颜色图的范围
grid on%添加网格
axis equal%设置坐标轴范围和纵横比
title('To:丰')
view(-40,15);%指定观看图的角度

2 玫瑰

主函数

%% 主函数
clear;clc;
t=0:0.001*pi:2*pi;% 控制玫瑰花瓣网格,步长越小,越光滑
for i=1:5%设置另一个变量r(i,:)=i-0.9:0.1:i+0.1;
end
%绘制花瓣
for i=1:5%控制花瓣层数a=r(i,:);b=t;[a,b]=meshgrid(a,b);%将变量一一对应z=(log(a)+5).*Petal(5*b+pi*i).*abs(sin(pi*a));%图形的公式[x,y,z]=pol2cart(b,a,z);%将变量一一对应C(:,:,1) = ones(size(z)); % redC(:,:,2) = zeros(size(z)); % greenC(:,:,3) = zeros(size(z)); % blue 根据三原色控制红色最大mesh(x,y,z,C)%surf的第四个变量控制颜色hold on
end
%% 绘制花托
[xx,yy]=meshgrid(-5:0.1:5);
h=2*cos((xx.^2+yy.^2).^0.5)-0.64;%图形公式
%% 根据三原色将绿色设为最大
CO(:,:,1) = zeros(size(h));
CO(:,:,2) = ones(size(h));
CO(:,:,3) = zeros(size(h));
mesh(xx,yy,h,CO);%surf的第四个变量控制颜色
hold on%继续绘图
camlight right;%可以设置光源位置
lighting phong%设置光照
view(-50,45);%设置观看角度
set(gcf,'color','[1 1 1]')%将背景设置为白色
hold off%不再继续绘图
axis off%隐藏坐标轴

花瓣函数

%% 画花瓣的函数
function y=Petal(x)
%% 花瓣函数,绘制花瓣
[m n]=size(x);%创建大小为x的行向量
for i=1:m%控制循环几次函数for j=1:n%控制进行几次判断if rem(x(i,j),2*pi)>=0&&rem(x(i,j),2*pi)<0.5*pi%控制进行那个表达式y(i,j)=sin(2*x(i,j)-0.5*pi)+1;elseif rem(x(i,j),2*pi)>=0.5*pi&&rem(x(i,j),2*pi)<1.5*piy(i,j)=2;elseif rem(x(i,j),2*pi)>=1.5*pi&&rem(x(i,j),2*pi)<2*piy(i,j)=-cos(2*x(i,j))+1;endend
end

3 I Love you

%% 画中间的爱心
[x,y,z]=meshgrid(-1.5:0.02:1.5);%生成三维数组
v=(x.^2+9/4*y.^2+z.^2-1).^3-x.^2.*z.^3-9/80*y.^2.*z.^3; %心形线公式
p=isosurface(x,y,z,v,0); %做出函数图像
patch(p,'edgecolor','none','facecolor','w'); %把上图绘制的图像作为补丁放于绘制出的坐标轴中央
%% 可视化三元标量函数
%x,y,z,f共同指明了一个三元标量函数。x,y,z为三维自变量网格,
%一般用meshgrid函数生成,f为三维数组,代表网格中每一点处的函数值
h=contourslice(x,y,z,v,-1.5:0.3:1.5,-1.5:0.3:1.5,-1.5:0.3:1.5,[0 0]);
%% 设置图形的线的宽度,颜色
set(h,'linewidth',2,'edgecolor','r');
view([-37.5 30]);%设置观看的角度
axis equal%设置坐标轴范围
hold on %继续绘图
%% 绘制 I
text(-3,0,1,'I','FontSize',140,'Color','r','FontName','TimesNewRoman','FontAngle','italic');%设置字体,大小,斜体
%% 绘制U
text(2.5,0,0,'U','FontSize',140,'Color','r','FontName','TimesNewRoman','FontAngle','italic');
set(gcf,'color','[1 1 1]')%将背景设置为白色
hold off%不再继续绘图
axis off%隐藏坐标轴

最后希望你能刷到这个博客。

在我最脆弱的时候,很庆幸有你出现在我的世界。一切仿佛命中注定一样,也许最大的美好并不是拥有全世界,而是在这个世界中我恰好拥有你。你的过去我不曾参与,你的未来我们一起走过。(清风明月)

4 参考文献及链接

Matlab画3D爱心
Matlab画3D玫瑰
这是我的个人公众号,如果感兴趣的话就关注一下吧!!!

"努力成为更好的自己"

如何用代码表白——matlab绘制玫瑰、爱心和I LOVE YOU相关推荐

  1. MATLAB 绘制3D爱心

    这个是整理各种绘制爱心的方式,简单介绍一些原理并进行一些函数的解释说明. % A small romantic coding by Inzamam [y,x,z] = ndgrid(linspace( ...

  2. 【总结】MATLAB绘制散点密度图

    MATLAB绘制散点密度图 1 方法一:scatplot函数 1.1 MATLAB函数 1.2 案例 2 方法二: 2.1 案例 3 方法三: 3.1 案例 参考 1 方法一:scatplot函数 1 ...

  3. MATLAB绘制小黄人

    最近因为疫情的原因,在家比较无聊,顺便学习用matlab画画. 首先,在网上找了一张小黄人的简笔画. 然后,选好坐标原点,计算出要画的图形位置坐标. 最后,用代码绘制出图形,并填充上颜色. 下面是我自 ...

  4. MATLAB表白玫瑰花绘制——旋转玫瑰、蓝色玫瑰

    MATLAB表白玫瑰花绘制--旋转玫瑰.蓝色玫瑰 搬运不易,路过的各位大佬请点个赞 MATLAB表白玫瑰花绘制--旋转玫瑰.蓝色玫瑰 MATLAB表白玫瑰花绘制--旋转玫瑰.蓝色玫瑰 一.旋转玫瑰花绘 ...

  5. HTML5七夕情人节表白网页(绘制冬季下雪3D相册) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心

    HTML5七夕情人节表白网页❤绘制冬季下雪3D相册❤ HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心 这是程序 ...

  6. 如何用数学软件MATLAB表白:让你在5月20日成功脱单

    如何用数学软件MATLAB表白:让你在5月20日成功脱单 再过几天就是2020年5月20日了,刺激吗?扎心吗?请你记住我经典的话:此生入IT,单身不足惜 好吧!为了让生活不再孤单,你还是得去表白试试, ...

  7. 幂律分布图matlab代码,关于幂律分布,你还应该知道如何用代码实现!| 集智百科...

    今天我们继续学习幂律分布的基本概念--幂律概率分布,以及如何用代码实现幂律分布.内容来自集智百科,集智百科是复杂系统领域的百科全书,涵盖复杂系统领域的基本概念(持续完善中). 我们正在组织撰写翻译相应 ...

  8. python如何绘制两点间连线_如何用 Python 绘制玫瑰图等常见疫情图

    新冠疫情已经持续好几个月了,目前,我国疫情已经基本控制住了,我们会看到很多网站都提供了多种疫情统计图,今天我们使用 Python 的 pyecharts 框架来绘制一些比较常见的统计图. 1. 玫瑰图 ...

  9. matlab三元函数泰勒展开,如何用matlab绘制三元函数f(x,y,z)=x^2 y^3 z^4在[-1,1]x[-2,2]x[-3,3] 上的各...

    问题描述: 如何用matlab绘制三元函数f(x,y,z)=x^2 y^3 z^4在[-1,1]x[-2,2]x[-3,3] 上的各种切片图. 还有怎么绘制f(x,y,t)=10*exp(1-t)*s ...

  10. python画玫瑰花的代码_python绘制玫瑰的实现代码

    今天为大家介绍一个Python绘制一朵漂亮的玫瑰花,用python的turtle库这个绘画库是非常简单的,但是还是需要你测试路径方向,慢慢调试,下面的代码具有一定的参考价值 利用python绘制一朵玫 ...

最新文章

  1. 内核中的内存申请:kmalloc、vmalloc、kzalloc、kcalloc、get_free_pages【转】
  2. 【Mysql】纯sql报表
  3. 作者:张国惠(1978-),男,美国新墨西哥大学土木工程系助理教授、博士生导师。...
  4. 12.引入依赖项目的时候,如果找不到jar
  5. 导航类查询词的收集方法
  6. 非结构化数据和结构化数据提取
  7. sql server跨服务器修改数据,SQL Server跨数据库服务器查询和跨表更新的详细操作...
  8. 解释计算机网络英文缩写CA,计算机网络名词英文缩写
  9. 动态拼接Lambda表达式2
  10. DHT11温湿度传感器原理剖析
  11. lan pci 联想开机_联想bios设置硬盘启动
  12. obsutil相关 (桶相关操作Linux)
  13. 谈谈你对 Webpack 的理解
  14. 京东饭粒捡漏V1.0.8
  15. 数据资产盘点实践:智能对标
  16. SpringBoot-注解日志 Aop注解切入点
  17. matlab bfs函数,Matlab脚本和函数
  18. 内核spinlock raw_spin_lock spin_lock_bh
  19. 【时间之外】2021年这些伪黑科技概念要提防
  20. 微服务开源框架TARS的RPC源码解析 之 初识TARS C++服务端

热门文章

  1. 如何将两个pdf合成一个?
  2. 大数据shipin教程_尚硅谷大数据视频教程,粉丝众多,人手一套尚硅谷教程
  3. Modbus 调试工具: Modbus poll与Modbus slave下载与使用(上)
  4. 简单 黑苹果dsdt教程_DSDT完美睡眠教程
  5. 台达伺服ASD-B2的调试
  6. 威纶和s7200通讯线_威纶触摸屏如何与西门子PLC进行通信,教你两种方法吧!
  7. Java课程中实际项目案例分析
  8. TFN推出2.5G传输分析仪D240S 等待您来验证
  9. bp神经网络数据预测实例,bp神经网络预测数据
  10. eps导入坐标文件_EPS一些简单地物的编辑