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

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

于是,他打开了MATLAB……

画心实验一

在Matlab命令行输入:

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

>> r=1+sin(theta);

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

输出结果如下:

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

实验一,失败!

画心实验二

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

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');

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

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

>> hold on

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

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

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

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

结果如下:

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

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

画心实验三

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

>> [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;

输出结果如下:

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

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

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

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

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

答:嗯啊,咋了?

妹纸:为什么不给我呢?

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

妹纸:……