在matlab中画心,【MATLAB系列05】教你用Matlab画心

一直以来,理工男都是凭自己的本事单着的。

某日,正值七夕前夕。某理工男灵机一动,何不整颗爱心送给暗恋的妹纸向她表白,顺便还能展示自己的能力。

于是,他打开了MATLAB……

画心实验一

在Matlab命令行输入:

>> theta=0:0.01:2*pi;

>> r=1+sin(theta);

>> polar(theta,r,'r');

输出结果如下:

eed9f0dc4a97059d846d608f4498fae2.png

这哪是心?分明是猴屁股好么!

实验一,失败!

画心实验二

极坐标不行,干脆找个标准方程吧,别说还真被这哥们儿找到了:

x^2 - abs(x)*y + y^2 = 1

二话不说,输入代码:

>> h=explot('x^2-abs(x)*y+y^2-1');

>> axis equal;

>> axis([-2 2 -2 2]);

>> set(h,'color','r');

连隐函数都用上了,看来这回认真了。输出结果如下:

c2b99bd2b853dfc250f539dcf62ba517.png

哥们摇了摇脑袋,心里嘀咕道:如此简单,怕是诚意不够。于是又添了几句:

>> hold on

>> data=get(h, 'contourMatrix');

>> x=data(1,2:end);

>> y=data(2,2:end);

>> fill(x,y,'m');

结果如下:

66d89b4ea54cea99aade0241b47ced28.png

一颗粉色的心,少女都喜欢,这回总行了吧。

实验二,成功。结果备用~

画心实验三

二维的心还是不够过瘾,与哥们儿的实力并不匹配,干脆来个三维立体的吧。

>> [x,y,z]=meshgrid(-1.5:0.01:1.5);

>> f=(x.^2+(9/4)*y.^2+z.^2-1).^3-x.^2.*z.^3-(9/80)*y.^2.*z.^3;

>> heart=patch(isosurface(x,y,z,f,0));

>> axis equal;view(3);

>> set(heart,'FaceColor', 'r', 'EdgeColor', 'none');

>> camlight;

输出结果如下:

a9565c3e7caca520f1c521d07d97907b.png

简直比油特佛,激动之情溢于言表。

似乎有什么美妙的事情即将发生……

实验三,成功!坐等七夕~

哥们在电脑前坐了一宿,越看越觉得这个心好看,居然把妹纸的事儿给忘了。等到想起来已经是七夕过后。

妹纸:听说你用Matlab画了个心?

答:嗯啊,咋了?

妹纸:为什么不给我呢?

答:我凭本事画的心,为什么要给你?

妹纸:……

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值