一直以来,理工男都是凭自己的本事单着的。
某日,正值七夕前夕。某理工男灵机一动,何不整颗爱心送给暗恋的妹纸向她表白,顺便还能展示自己的能力。
于是,他打开了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画了个心?
答:嗯啊,咋了?
妹纸:为什么不给我呢?
答:我凭本事画的心,为什么要给你?
妹纸:……